对象集合是否也应该负责创建新对象?
让我解释一下。我有两个类,PhoneCall和PhoneCallList。PhoneCallList是PhoneCall对象的集合。我们的架构师和我在如何创建新的PhoneCall对象上存在分歧。目前,PhoneCall对象有一个名为Create的方法将记录添加到数据库,PhoneCallList对象有一个名为Add的方法将一个PhoneCall添加到列表中。
架构师还希望让PhoneCallList中的Add方法在数据库中创建新记录,并将其添加到集合中。这样做是否违反了单一责任原则?对我来说,这不是最好的方式。
哪种方法是最好的?
*两个对象都不了解DB。负责所有数据访问的呼叫服务。问题是PhoneCall或PhoneCallList对象应该调用执行数据访问的服务吗?
发布于 2009-03-10 23:25:32
关于上下文,我有很多不确定的地方,但看起来有两个问题。谁应该创建PhoneCall对象,谁应该向数据库添加PhoneCall。我建议由操作PhoneCallList的上层模块创建PhoneCall对象,并将其传递给PhoneCallList的“Add”函数。我也会倾向于这两个类都不做DB条目。这听起来像是一个很好的第三类的理由。
https://stackoverflow.com/questions/632658
复制相似问题