我有实现MyFactory
接口的具体工厂类。我想得到基于参数的具体工厂对象。怎么做?
一种方法是创建factoriesFoF工厂,而FoF将是参数化工厂。
还有什么更优雅的方法吗?
这纯粹是智力锻炼,我在我的项目中没有遇到任何问题。
发布于 2015-11-27 15:22:23
如果您能够合并这两层工厂,这当然是更好的解决方案。如果具有相同的生命周期,这将是可能的。
如果他们不创建工厂的话,是可以的。模式本身没有问题,模式可以嵌套。你甚至可以创建一个工厂的工厂(请不要),它将工作。
然而,应该为工厂的工厂找到一个合适的名称,这样就可以清楚地知道,工厂的工厂听起来不像是一个好名字。选择一个在问题域中交流行为的名称比一个纯面向模式的名称更好。
编辑:有人建议你看看问题评论中的抽象工厂模式。虽然它确实是一种有用的模式,也是一个优秀的软件工程师应该知道的模式,但是抽象工厂并不是工厂的工厂:模式抽象出一组相关的工厂,而不是创建它们。尽管如此,了解它还是有帮助的。
https://stackoverflow.com/questions/33957810
复制相似问题