我目前正在设计和实施一个使用Domain Driven Design
概念的框架。在DDD中,域模型实体可以访问其存储库吗?
我试图把Validation
域模型层。
有时做验证需要访问数据库和查询它,作为一个例子:
"querying to check multiple column unique index"
对于这一点,事实上,查询应该在库层的类来写的,它出来的那个域名实体需要在域模型层中引用其存储库接口,以便将验证完全置于域模型层中。
我想知道域实体是否可以访问存储库?
如果不好,那么应该如何处理这种情况?
我的意思是应该这样的验证方法移到repository
或Application Service
几层?如果是,是否可以将验证方法移到这些图层上?
或者作为域名服务可以访问存储库,我们应该创造domain services
在domain model layer
进行验证?
我们应该如何处理?
在此先感谢
[实体访问存储库可以吗?](http://stackoverflow.com/questions/827670/is-it-ok-for-entities-to-access-repositories) – guillaume31
@ guillaume31 I不要认为它与你提到的问题是一样的,我编辑了我的问题并添加了更多细节。任何解决方案将不胜感激! – Karamafrooz
你需要检查什么不变?我们在谈论哪个聚合根源,为什么它有责任验证这种独特性? “检查多个列唯一索引”并不是一个域描述... – guillaume31