我有一些从 XML 配置创建的 PHP 类。我想知道的是:
我(从面向对象的角度)使用工厂方法从 XML 创建这些类或将 XML 传递给构造函数以创建类更好吗?
工厂方法的优点是将构造与使用分开,并且更容易允许替代实现,但您随后需要公开 setter 或将一大堆对象传递给构成其状态的构造函数。
另一个微妙之处在于,传入 XML 允许您自上而下地创建对象,而一些较低的对象将需要引用它们上方的那些对象。第二种方法会产生更自下而上的结果。
或者是否有更多设计模式类型的方法来解决这个问题?
想法?
最佳答案
听起来您需要某种依赖注入(inject)框架。 Symphony 的 DI 有一个很好的大纲 here .一个好的 DI 框架将帮助您设计一个干净且可测试的架构,这可以缓解构造函数需要太多参数等问题。
关于php - 从 XML 外部化对象创建还是从构造函数中创建对象更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/846326/