gpt4 book ai didi

oop - 是否存在确定方法或字段是否属于类的启发式方法?

转载 作者:行者123 更新时间:2023-12-04 18:17:31 25 4
gpt4 key购买 nike

我可以执行一个好的经验法则或测试来确定一个方法或字段是否属于一个类?如何识别成员何时不属于?

我发现我在面向对象设计中最大的绊脚石是试图弄清楚什么去哪里。答案似乎太多了:“它可以在这里或那里。”

这是我正在努力解决的事情类型的一个简单示例:

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对象管理2组 Employees ...但它应该知道 Employees有技能吗?应该像 AddSkillToGroup 这样的方法吗?搬迁?

编辑:

到目前为止,似乎一致认为 IT 部门不应该了解员工的技能。我将扮演恶魔的拥护者,以说明我的困惑在哪里起作用。

ITDepartment 由两个 Employee 集合组成。它不应该能够委托(delegate)给那些收集项目吗? AddSkill 方法仍然属于 Employee 类。 IT 部门只是指示其员工组为其每个成员添加一项技能。

最佳答案

我倾向于制作 List(Of Employee)此时进入它自己的类,这样它就可以有自己的方法 AddSkill()。

我猜你是通过代码气味来决定的。特别是过长的参数列表;到达其他物体内部。您也可以尝试一下,看看您是否可以将更多内容设为私有(private)。

寻找在一个类中形成一个连贯子组的方法或方法和成员的集合——它们已经成熟,可以重新定位到自己的类中。

关于oop - 是否存在确定方法或字段是否属于类的启发式方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/586653/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com