【发布时间】:2013-01-03 13:56:27
【问题描述】:
我在摆弄一个 MVC 框架,但偶然发现了一个我不知道如何解决的问题。
我想为我的应用程序的模型层创建一个DomainObjectFactory,但是,每个域对象都会有一组不同的参数,例如:
- 人员 - $id、$name、$age。
- 帖子 - $id、$author、$title、$content、$cmets
- 评论 - $id, $author, $content
等等。我怎样才能轻松地告诉我的工厂我需要什么样的对象?
我想出了几个选择:
- 传递一个数组 - 我不喜欢这个,因为你不能依赖构造函数的契约来告诉对象他的工作需要什么。
- 将
DomainObjectFactory设为接口,并创建具体的类 - 有问题,因为要创建大量的工厂! - 使用反射 - 服务定位器多吗?我不知道,在我看来就是这样。
我可以在这里使用一个有用的设计模式吗?还是其他一些巧妙的解决方案?
【问题讨论】:
标签: php oop model-view-controller design-patterns domain-object