我是DDD的新手并希望澄清一些疑问。任何帮助表示赞赏。
在DDD模型中,程序集引用层次结构自上而下,这意味着Model可以引用Infrastructure,而不应该是其他方式。现在,如果我们在Model程序集中声明所有类,那么在这种情况下,Infrastructure类必须引用Model Assembly以获取数据访问层(DAL)中Concrete存储库实现的类信息。模型组件还必须引用Infrastructure Assembly来访问DAL层。我对此感到困惑!什么应该是正确的方法?
我们是否应该在Model层或Infrastructure DAL层中具有Repository和UnitOfWork接口,就像在Model层中具有接口但在Infrastructure层中具有实际DAL实现?
如果我们需要包含一些通用实用程序函数或类的其他程序集(如自定义CommandMessage类等,以便在Enterprise Service Bus体系结构中进行通信),那么我们将所有这些内容放在哪里以及应该是哪个首选命名空间(For例如CompanyName.Model.Common
)?
答案 0 :(得分:2)