【发布时间】:2016-12-24 05:32:28
【问题描述】:
我们有用于创建复杂对象的工厂。 (用于制作东西)
我们有用于查找它们的存储库。 (找东西)
我们有什么来更新它们? (为了改变东西)
似乎是拼图中缺少的一块?我认为它不属于存储库,因为这破坏了单一责任......
【问题讨论】:
-
“更新”不是对对象本身执行的操作吗?还是您的意思是“更新”,例如“将现有对象的更改状态保留回数据存储区”?
-
您将更新对象,然后将更新的对象传递回存储库;无论您的 repo 是将对象保存在内存中还是数据库中,您仍将执行
$repo->save($object)之类的操作 -
我们有存储库来保存对象(复杂与否)。持久性包括查找但也存储(新的或更新的)对象(以便以后查找)。
标签: php laravel oop repository-pattern factory-pattern