这两个选项都正确吗?其中一个比另一个好吗?在什么情况下?是否比其他人更难实现?
答案 0 :(得分:1)
理想情况下,两者都不应该依赖于另一个 - 但实际上域将依赖于数据层,但希望间接地。
这是什么意思?
数据层不应该依赖于域层。
域层可能会使用数据对象,但理想情况下,您可以通过依赖注入来实现。一种方法是使用接口并仅在编译时引用接口。在运行时通过IoC容器(如Structure Map或Unity)为这些接口提供具体实现。
这也有助于您对解决方案进行单元测试,并强制分离关注点并创建松散耦合的系统。
答案 1 :(得分:0)
通常,域(业务逻辑)层应该依赖于数据层,而不是相反。
理由:
这实际上非常类似于域层应该在表示层上具有最小依赖性的方式(尽管在实践中这可能很难实现)。