层级解释
项目名称 | 中文说明 | 说明 |
---|---|---|
WebApi | WebAPI接口层 | 对外/对内提供的Webapi接口,这一层只是提供接口和请求数据验证 |
Contract | 对内契约层(服务接口层) | 领域下服务对应的接口、传输数据类、服务请求类 |
Services | 服务层(业务服务) | 领域服务契约的对应实现服务 |
Dto | 传输对象 | 包含传输用的对象和Request |
Repository | 仓储层(数据操作) | 数据库相关操作 |
Commons | 公用层(领域内公用项目) | 该Webapi下的公用和工具类,不包含具体服务的公用操作 |
Aegis架构图
解决方案层级
根据具体业务领域新建解决方案文件夹
将同一个业务领域下的项目均放在一块,如果可以通用则放在外部。
比如现有的HIS项目层级
Dezhen.His.Master //解决方案
-- His.Services //His独有服务(解决方案文件夹),所有领域服务都建立文件夹放在这下面
-- Invoice //发票服务(解决方案文件夹)
-- His.Invoice.Contract //(项目)对WebApi和Services公用的契约层,即服务层的接口
-- His.Invoice.Services //(项目)服务层
-- His.Invoice.Dto //(项目)传输对象,包含Dtos和Requests
-- ... //其他服务
-- His.WebApi
-- His.IpVisit.WebApi //(WEBAPI项目)对内API
-- His.IpVisit.LinkApi //(WEBAPI项目)对外API
-- His.Repository //(项目),通用仓储层,仓储层还没做服务间隔离,很多服务会互相调用各自的表,所以公用仓储层
-- His.Commons //(项目),His下通用的工具类
具体参考下图