我们已经拥有了很多模型对象的系统(例如Car
,Pedestrian
,Road
,...)辛格尔顿Vs的辛格尔顿厂
目前,所有的人都管理者(CarManager
,PedestrianManager
,RoadManager
)返回一个各个班级的单身人士。
提出的替代方案是具有ManagerFactory
单例,其可以返回CarManager
,PedestrianManager
,RoadManager
的实例。 (例如ManagerFactory.getInstance().getCarManager()
)
我们也为项目编写测试,关注的是如果我们要使用依赖注入,我们需要一个实际的对象实例来注入管理者。
这是替代一个好?你会在这种情况下将单身人士变成别的东西吗?
这是见仁见智,但我会去任何选项给你代码的不同部分之间的耦合/交叉依赖最少的。此外,无论您需要如何分配代码在您的代码库中的工作方式,只要这是有道理的。 – nielsbot
然而,我的本能是没有'ManagerFactory' - 我认为这并不复杂。 – nielsbot