第一次写博客有点小激动,废话不多说先上图:
- 01_Client:存放UI相关的项目,比如ASP.NET MVC或者相关的Web Model及View Model项目。
- 02_Hosting:存放与Service相关的项目,可以是Direct Service,Remoting Service,Web Service,WCF Service或者Web API Service 。
- 03_Domain:业务逻辑相关的所有实体以及操作(根据oo的思想设计类以及类之间的关系)。
- 04_Infrastructure:非业务方面的功能框架 (Common,AOP, IOC,Logging,Encryption,Scheduler)。
- 05_Database:数据库项目(包含所有数据库脚本,方便开发,部署以及维护)。
- 06_Tests:所有测试项目(数据访问测试,框架测试,业务逻辑测试,服务测试以及View Model测试)。
- 07_ReferenceLibs:项目相关的外部引用。
- 08_Tools:一些简单的工具如Nunit等,方便开发,测试以及部署。
- 09_Documents:存放项目相关文档、数据字典、接口API等
在业务领域层中分为model,repository,service三层,每一层之前使用接口进行交互,使用spring.net中IOC功能来动态注入接口的实现类,从而实现层次之间的解耦。
model层:使用entity framework框架定义不同数据库的数据库上下文与表对应关系,与定义业务实体类
repository层:通过调用model层接口实现各种业务实体类的增删改查等功能。
service层:主要处理业务逻辑,并调用repository层接口对数据进行操作