ABP基础-多层架构
2018-11-05 本文已影响0人
唐九十九藏
DDD四层架构
四层架构
- 展示层:一方面展示前端界面给用户,其实就是View层;另一方面接受用户的操作(如:点击某个按钮),然后调用应用层来处理事件。
- 应用层:作为展示层和领域层的协调者和隔离者, 下调业务对象来执行具体的任务。
- 领域层:这一层包含业务对象和其周围的规则,是整个应用的核心部分。
- 基础设施层:提供一些通用的第三方库给更高层使用。
以上是DDD的经典四层架构,但ABP在此基础上还加了基层,如下:
- 用户层:就是前端层了,是实实在在展示着在用户面前的前端界面,比如:VUE的很多框架等等。
- Presentation层:这一层主要包括API接口,ASP.NET [Core] MVC (Model-View-Controller)可以被认为是Presentation层,它也可以是一个物理层(提供HTTP api)或逻辑层(直接注入和使用应用程序服务),它还包括定位、导航、对象映射、缓存、配置管理、审计日志记录等等。它还处理授权、会话、特点(多租户应用程序)和异常处理。
- Application层:该层主要包括Application Services(应用服务),应用服务可以调用领域层或者领域对象(Domain Services, Entities)来完成用户请求。同时该层使用DTO来获取展示层数据和返回数据给展示层。它也可以处理授权、缓存、审计日志对象映射,会话等等。
- Domain层:这是领域驱动设计最核心曾。包括了 Entities, Value Objects, 和 Domain Services,Specifications, Domain Events,在该层还定义了仓储接口(Repository )来读取和持久化实体数据(entities )到数据库。
- Infrastructure层:这一层为基础设施层,看名字就知道是为了辅助其他层进行工作的。第一:在该层实现仓储接口(repository )来和真实数据库交互(如可通过Entity Framework Core实现),这是个集成各种第三方框架来支撑其他层运行的一层
加我微信:wc88114,一起交流