【发布时间】:2010-04-20 09:14:21
【问题描述】:
我很难找出如何在 PHP 的工厂类中实现“可配置”行为。
我有 at 类,它在其构造函数中将另一个类作为参数。 参数类可以在其构造函数中接受多个参数。我的主类的一个实例可能看起来像这样
$instance = new MyClass(new OtherClass(20, true));
$instance2 = new MyClass(new DifferentClass('test'));
这相当笨拙并且有很多问题,因此我想将它移到工厂类中。 问题是这个工厂需要知道如何实例化参数类,因为这个类在构造函数中可以有任意数量的参数。
我希望能够做这样的事情
$instance = Factory::build('OtherClass');
$instance2 = Factory::build('DifferentClass');
让工厂从配置数组或类似的地方检索参数。
【问题讨论】:
-
如果你想创建一个灵活的工厂类,我认为你应该瞄准工厂而不关心它控制的是什么类。它应该只是旨在控制何时以及如何创建事物,这些属性当然应该是可控的。但是如果工厂是创建“猫”“超级复杂结构”“其他工厂”,那么工厂不应该开车
标签: php configuration factory