0

每当我看到工厂设计模式时,它总是有一个简单的new FactoryName.build()方法。在创建对象时,它们有依赖关系,但在我的情况下,我有一个现有项目,在运行时比在初始化时操作更多(想想现有的、复杂的代码库,而不是简单的工厂设计示例)。因此,为了注入所需的依赖项,我的实现不可能build只实现为return new Blah(new This(), new That()).

那么,如果我想将参数传递给构建(例如:build(SomeENUM type),和/或什至在构建中自动检测依赖项(例如:),该some logic to auto-detect SomeENUM type怎么办。其中一个或两个本身是错误的?

4

1 回答 1

0

像(工厂/构建)这样的“创建”模式通过隐藏对象的创建方式来抽象对象实例化过程,并使系统独立于对象创建过程。

如果我理解你的问题,你不能SomeENUM type在内部构建工厂过程中“玩”。这是工厂模式的主要目标,使所有过程都像黑匣子一样

我从好的文档中获取了打印屏幕:

在此处输入图像描述 在此处输入图像描述

于 2013-03-22T07:32:41.157 回答