是否有一个很好的经验法则或测试我可以执行以确定方法或字段是否属于类?如何识别会员何时不属于?
我发现在面向对象设计中我唯一最大的绊脚石就是试图弄清楚究竟是什么.似乎有太多的案例答案是:"它可以在这里或那里."
这是我正在努力解决的事情的一个简单例子:
Public Class ITDepartment Private _sysadmins As List(Of Employee) Private _developers As List(Of Employee) // properties, public stuff... Private Sub AddSkillToGroup(ByVal emps As List(Of Employee), ByVal skill As Skill) For Each e As Employee In emps e.AddSkill(skill) Next End Sub End Class
该ITDepartment
对象管理两组Employees
...但它应该知道Employees
有技能吗?应该AddSkillToGroup
重新安置一个方法吗?
编辑:
到目前为止,共识似乎是IT部门不应该了解员工的技能.我将扮演魔鬼的拥护者,以说明我的混乱发挥作用.
IT部门由两个Employee集合组成.它不应该能够委托给那些收藏品吗?AddSkill方法仍属于Employee类.IT部门只是指示其员工团队为每个成员添加技能.