我有两个班,一个用于联系,另一个用于组织。每个联系人都属于一个组织,一个组织可以有很多联系人。
我想要一个创建联系人的函数,其中一个参数是组织名称。如果组织名称已存在,则联系人将分配给该现有组织。否则,将在现场为联系人创建一个新组织。
由于此函数创建了一个联系人,并且还可能创建一个组织,我首先想到的是为它创建一个帮助器类,因为它似乎不属于任何一个类。我一直认为辅助课程在OOP中是不好的做法所以我正在寻找其他建议。如果不使用帮助程序类,您将如何实现它?
答案 0 :(得分:1)
很难在OOP中确定什么是好的做法,而在没有详细查看具体案例的情况下,这是非常困难的。你所说的问题是有效的,这是我对这些问题的回答:
帮助程序类在OOP中不一定是“不良做法”
有很多情况,辅助类是可行的方法。如果这些辅助类简化了您的设计,它们实际上是有利的。
对象函数可能会创建其他对象 - 这并不意味着它必须进入辅助类。
如果您的联系人创建了一个组织,那很好。如果组织创建联系人,那也没关系。这两个类是对象设计的一部分,可能在不违反OOP中的任何设计规则的情况下相互依赖。我不明白为什么你的代码“应该”进入帮助类。