php – 从XML外部化对象创建或从构造函数中创建它更好吗?

我有一些我从
XML配置创建的
PHP类.我想知道的是:

我是否最好(从面向对象的角度)使用工厂方法从XML创建这些类或将XML传递给构造函数来创建类?

工厂方法的优点是可以将构造与使用分开,更容易实现替代实现,但是您需要公开setter或将一大堆对象传递给构成它的状态的构造函数.

另外一个细微之处在于传入XML允许您自上而下创建对象,而一些较低的对象需要引用它们上面的那些对象.第二种方法会产生更多自下而上的东西.

或者是否有更多的设计模式类型的方式去做?

思考?

最佳答案 听起来你需要某种依赖注入框架. Symphony的DI
here有一个很好的概述.一个好的DI框架将帮助你设计一个干净,可测试的架构,可以缓解构造函数需要太多参数的问题.

点赞