基于DDD的.NET项目搭建

时间:2023-03-08 21:07:20

  第一次写博客有点小激动,废话不多说先上图:

基于DDD的.NET项目搭建

  1. 01_Client:存放UI相关的项目,比如ASP.NET MVC或者相关的Web Model及View Model项目。
  2. 02_Hosting:存放与Service相关的项目,可以是Direct Service,Remoting Service,Web Service,WCF Service或者Web API Service 。
  3. 03_Domain:业务逻辑相关的所有实体以及操作(根据oo的思想设计类以及类之间的关系)。
  4. 04_Infrastructure:非业务方面的功能框架 (Common,AOP, IOC,Logging,Encryption,Scheduler)。
  5. 05_Database:数据库项目(包含所有数据库脚本,方便开发,部署以及维护)。
  6. 06_Tests:所有测试项目(数据访问测试,框架测试,业务逻辑测试,服务测试以及View Model测试)。
  7. 07_ReferenceLibs:项目相关的外部引用。
  8. 08_Tools:一些简单的工具如Nunit等,方便开发,测试以及部署。
  9. 09_Documents:存放项目相关文档、数据字典、接口API等

  在业务领域层中分为model,repository,service三层,每一层之前使用接口进行交互,使用spring.net中IOC功能来动态注入接口的实现类,从而实现层次之间的解耦。

  model层:使用entity framework框架定义不同数据库的数据库上下文与表对应关系,与定义业务实体类

  repository层:通过调用model层接口实现各种业务实体类的增删改查等功能。

  service层:主要处理业务逻辑,并调用repository层接口对数据进行操作