每当我看到工厂设计模式时,它总是采用简单的new FactoryName.build()
方法。在创建对象时,它们具有依赖关系,但在我的情况下,我有一个现有的项目,我在运行时比在初始化时更多地操作(想想现有的,复杂的代码库,而不是简单的工厂设计实例)。因此,为了注入所需的依赖项,我的build
实现不可能只被实现为return new Blah(new This(), new That())
。
那么如果我想传递参数来构建(例如:build(SomeENUM type)
,和/或甚至自动检测构建中的依赖关系(例如:some logic to auto-detect SomeENUM type
)该怎么办。这些中的一个或两个都是错误的?
答案 0 :(得分:0)
"创建"像(工厂/建筑)这样的模式抽象出来 对象实例化过程通过隐藏如何创建对象并使系统独立于对象创建过程。
如果我理解你的问题是正确的,你就不能玩#34;在构建工厂进程中使用SomeENUM type
。这是Factory模式的主要目标,可以使所有过程像黑盒
我从优秀的文档中获取了打印屏幕: