MEM*_*MEM 5 php oop zend-framework domain-model
如果我们使用类型提示,我们可以强制放置一个对象:
public function myMethodThatDoFineStuff(MyObject $myobject) {
}
Run Code Online (Sandbox Code Playgroud)
如果,我们想要放置,而不是所有对象,而只是其中一些属性,是强制性的?让我们假设我们的域模型会更好,如果它更好地代表某个域.如果这对我们的业务模型(在我们的域上)更有意义?我们该怎么做?
我们应该总是放置ALL Object而不管是什么?
澄清的例子提出:
让我们想象一下,为了列出某个作者的书籍,我们有这个方法:
public function listBookOfAuthor(Author $author) {
}
Run Code Online (Sandbox Code Playgroud)
现在,让我们想象,笔者对象有200个性能左右,但是,为了处理图书列表,我们只需要他们的第一个和最后一个名字.
我们应该收到ALL $ author对象吗?
我将通过以下方式测试所需的属性:
public function listBookOfAuthor(Author $author) {
if (empty($author->firstName)) {
throw new listBookOfAuthorException('firstName must be defined');
}
}
Run Code Online (Sandbox Code Playgroud)
如果您发现自己做了很多事情,您可以编写某种父类,其中包含检查属性是否存在的方法。
| 归档时间: |
|
| 查看次数: |
129 次 |
| 最近记录: |