ABP基础-多层架构

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 ServicesSpecificationsDomain Events,在该层还定义了仓储接口(Repository )来读取和持久化实体数据(entities )到数据库。
  • Infrastructure层:这一层为基础设施层,看名字就知道是为了辅助其他层进行工作的。第一:在该层实现仓储接口(repository )来和真实数据库交互(如可通过Entity Framework Core实现),这是个集成各种第三方框架来支撑其他层运行的一层
image.png

加我微信:wc88114,一起交流

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容