我正在构建.NET 4.5 C#Web API RESTful解决方案,我想告诉我我的项目解决方案对于使用域驱动设计设计的解决方案是否正确和/或明智(足够?)。
该解决方案已分为6个项目:
- /基础
(没有任何引用)
该Web项目构成了解决方案与外界之间的接口。包含Web API控制器。除了从请求对象中收集值并要求BizApi层工作以外,几乎没有任何逻辑。
- /Biz.Api
(由基础引用)
提供域服务,并允许/ Base接口项目访问/Biz.Domain项目中的域业务逻辑对象。
- /Biz.Domain
(由Biz.Api引用)
提供Biz.Api层的域类。这些提供了操作内存中业务数据的方法。
- /Dal.Db
(由Biz.Api引用)
数据库存储库层。访问数据库并将返回的数据映射到/ Interfaces层中定义的内部DTO。
- /Dal.Services
(由Biz.Api引用)
为外部依赖项(如Web服务)提供代理层,并将其返回的数据映射到/ Interfaces项目中定义的内部DTO。
- /接口
(以上大多数项目引用)
包含用于在解决方案中传递数据的DTO类和用于为IoC之类的合同定义合同的C#接口。