我有一个问题,在工厂方法中正确设置值吗?
类似这样的东西:
class ObjectFactory {
public static function create($config)
{
$object = new Object();
$object->setDependency(// something);
$object->setValue(// something);
return $object;
}
}
正确吗?也许应该是建造者?我该怎么称呼它?是ObjectBuilder,ObjectFactory还是ObjectCreator?
请向我解释创建具有某些依赖项或初始值的对象的情况。我知道它应该是构建器模式,但我听说构建器比返回具有很少初始值或依赖性的对象要先进。那么...解决方案是什么?
答案 0 :(得分:1)
首先,它不是Builder Pattern。当实例化对象后有多种方法构造/配置对象时,可以使用Builder,但是这些方法具有共同的常规步骤。因此,您将这些步骤抽象到名为Builder
的接口中,然后有一个名为Director
的类,该类使用Builder
接口以所需的顺序调用这些步骤。
第二,您发布的代码与Factory Method Pattern无关,后者的工厂方法是在基类中充当模板的方法,并且将在派生类中实现。
代码中的模式通常称为Factory Pattern
,您只需将构造对象的特定过程封装到方法中,就可以轻松地重用它。