我想实现的DDD所以我创建了以下类
- 用户[域模型]
- UserRepository [中央工厂管理对象(S)]
- UserMapper + UserDbTable [映射器来映射应用程序功能并提供CRUD实现]领域驱动设计问题有关存储库
我的第一个问题是,当模型需要与持久层进行通信时,是否应该联系存储库或映射器?就我个人而言,我认为它应该询问将与映射器联系并提供所需功能的存储库。
现在我的第二个担心是应该只有一个存储库用于同一类的所有对象,这意味着我将创建一个单例。但是如果我的应用程序有很多域模型(比如说20),那么将会有20个单例。它感觉不对。另一种选择是使用DI(依赖注入),但我使用的框架(Zend Framework 1.11)不支持DIC。
我的第三个
您可以手动为对象提供依赖关系。 DI容器是一种用于自动处理DI的工具。 – MikeSW 2012-04-22 07:29:43