DDD中Factory和Repository的一些疑问
Hi,
各位好,最近在看Evans的DDD,很多时候有被醍醐灌顶的感觉,感觉以前的很多思考和困惑得到了回答。我现在看第二遍这本书了,仍然有一些问题,希望各位能够指教。
在Evans的定义中,Factory和Repository都是用来作为domain model中的工具来出现的,它们不是domain objects,但为domain model服务。
我的困惑是,在第六章中,Factory和Repository的职能我还是觉得有点不清晰。我看书的理解是:
1. Factory Pattern: 负责create/reconstitution域对象;
2. Repository Pattern: insert/delete/search域对象(限于aggregate的root),给client以域对象集合的感觉,从而不会把技术层面的东西暴露给域对象。
我的困惑就在于,这个factory pattern的create和Repository的insert有何区别?个人感觉是一样的,是要在Repository中insert的时候调用factory的create吗?还是我的理解出现了偏差。
同样,对于Factory的reconstitution和Repository的search的关系,也是一个调用另一个的关系吗?
请各位赐教。