.Net项目搭建架构



系统架构说明:

1-StartUp(系统宿主层)
Sun.Structure.Web:系统管理平台站点。
Sun.Structure.ServiceHost:系统service服务宿主。
Sun.Structure.MQConsumerHost:消息队列宿主。
Sun.Structure.JobHost:Job宿主(后期将接入框架组调度中心,由调度中心进行任务调度)。
2-Service(服务实现层)
Sun.Structure.Service:接口实现层(JOB、服务实现都由此层进行对接)。
3-BusinessLogic(业务逻辑层)
Sun.Structure.Core:业务逻辑层,与数据层进行交互。
Sun.Structure.Proxy:代理层,用于与其他系统数据交互所生成的代理类层。
4-DataAccess(数据逻辑层)
Sun.Structure.BLL:数据逻辑处理层,用于交互数据的组装和调用格式化。
Sun.Structure.DAL:数据实现层,用户交互数据库进行数据落地。
Sun.Structure.DataBase:数据库关系映射。
5-Common(公共工具层)
Sun.Structure.Common:公共类库,公共使用方法和帮助工具在此层实现,包括:TinyMapper,Ioc容器,缓存,Json工具,日志等工具。
Sun.Structure.DLL:项目引用DLL,系统宿主所引用的外部依赖dll都出自此层,后续方便统一升级维护。
6-Entity(数据模型层)
Sun.Structure.Entity:数据自动生成对象映射关系。
Sun.Structure.Model:系统内部流转的对象或者对外接口暴漏的对象(dto)在此层进行定义。
7-UnitTests(单元测试)
Sun.Structure.Service.测试:服务的单元测试
Sun.Structure.Web.测试:站点的单元测试


系统依赖关系
Web:站点(Model、Common)→Core(Model、Common、Proxy)→BLL(Model、Entity、Common)→DAL(Model、Entity、Common)
Service:宿主→Service(Model)→Core(Model、Common、Proxy)→BLL(Model、Entity、Common)→DAL(Model、Entity、Common)
Job:调度→Service(Model)→Core(Model、Common、Proxy)→BLL(Model、Entity、Common)→DAL(Model、Entity、Common)
详情可见:系统层级依赖关系图.png


技术选型:
1、整体架构:采用MVC+多层架构+Mysql
2、页面技术:Angulars+Html+MiniUI(部分控件)
3、服务技术:公司服务治理框架(对外接口)+ AutoFac注入 +AOP切面编程
4、模型转换:采用TinyMapper、手动扩展。
5、数据完整性:业务逻辑验证。
6、缓存:以本地为辅,以Redis为主。
7、数据加密:支持对称加密和非对称加密算法。
8、数据访问层:公司封装数据库组件。
9、消息发送:Rabbitmq。
10、服务寄宿点:Windows服务。
11、Job寄宿点:Windows服务(任务调度中心)。

猜你喜欢

转载自blog.csdn.net/sun491922556/article/details/80499000