DDD中Factory和Repository的一些疑問

syyzxsyf發表於2008-10-21
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的關係,也是一個呼叫另一個的關係嗎?

請各位賜教。

相關文章