点这里进入ABP入门教程目录

介绍

应用程序代码库的分层是一种广泛接受的技术,可帮助降低复杂性并提高代码可重用性。为了实现分层体系结构,ASP.NET Boilerplate遵循域驱动设计的原理。

DDD分层体系架构

领域驱动设计(DDD:Domain-Driven Design)有四个基本层:

  • 展示层:为用户提供界面。使用应用程序层来实现用户交互。
  • 应用层:在表示层和域层之间进行中介。编排业务对象以执行特定的应用程序任务。
  • 领域层:包括业务对象及其规则。这是应用程序的核心。
  • 基础设施层:提供通用技术功能,这些功能主要使用第三方库来支持更高的层。

ABP分层体系架构

除了DDD外,现代架构应用程序中还包含其他逻辑和物理层。建议并为ABP应用程序实现以下模型。ABP不仅通过提供基类和服务使实现此模型更加容易,而且还提供了直接从该模型开始的启动模板

客户应用

这些是远程客户端,它们通过HTTP API(API控制器,OData控制器,甚至是GraphQL端点)将应用程序用作服务。远程客户端可以是SPA(单页面应用程序),移动应用程序或第三方用户。本地化和 导航可以在此应用程序内完成。

展示层

ASP.NET Core MVC(模型-视图-控制器)可以视为展示层。它可以是物理层(通过HTTP API使用应用程序)或逻辑层(直接注入和使用应用程序服务)。无论哪种情况,它都可以包括 本地化,导航,对象映射, 缓存,配置管理,审计日志等。它还处理 授权,会话, 功能(用于 多租户应用程序)和异常处理。

分布式服务层

该层用于通过REST,OData,GraphQL等远程API来提供应用程序/域功能...它们不包含业务逻辑,而仅将HTTP请求转换为域交互,或者可以使用应用程序服务来委托操作。该层通常包括授权,缓存, 审核日志记录,对象映射,异常处理,会话等。

应用层

应用层主要包括应用服务的使用领域层和领域对象(领域服务, 实体 ...)来执行请求的应用程序的功能。它使用数据传输对象从表示层或分布式服务层获取数据并将数据返回到表示层或分布式服务层。它还可以处理 授权,缓存,审核日志记录,对象映射,会话等。

领域层

这是实现我们的领域逻辑的主要层。它包括 实体,值对象和领域服务以执行业务/领域逻辑。它还可以包括规范和触发领域事件。它定义了存储库接口以从数据源(通常是DBMS)读取和保留实体。

基础设施层

基础设施层使其他层起作用:它实现存储库接口(例如,使用Entity Framework Core)以实际使用实际数据库。它还可能包括与供应商的集成,以发送电子邮件等。这不是所有层下的严格层,但实际上通过实现抽象层来支持其他层。

最新文章

  1. dell md3200i mdss (企业管理) 安装的那点事儿
  2. VS 2015打开项目闪退,新建项目提示未将对象引用到实例
  3. 谷歌浏览器 DEV Tools
  4. win 8.1 安装framework3.5
  5. php分页代码实例
  6. 使用avalon 实现一个订座系统
  7. 每天学点linux命令--tail,cut,sort,uniq
  8. cf 702B
  9. asp.net 2.0 Session丢失问题
  10. Gap 锁
  11. 分享几个免费的开源邮件server软件
  12. VBA /VB/VB中合成分散数据方法
  13. vue-cli+webpack打包配置
  14. Array与Object
  15. Java编程的逻辑 (28) - 剖析包装类 (下)
  16. [Python] Python 之 function, unbound method 和 bound method
  17. js数组与字符串之间的相互转换
  18. 浅析互联网系统和传统企业IT系统的异同
  19. 无废话JavaScript(上)
  20. RK61 Keyboard Use

热门文章

  1. Android 项目优化(七):阿里巴巴Android开发手册整理总结
  2. mysql-5.7.21-winx64安装教程
  3. react---css3动画 react-transition-group的使用
  4. 微软发布ML.NET 1.0
  5. MyBatis框架之第三篇
  6. 5.Ansible Jinja2 模板
  7. jquery 实现只能选中一个checkbox,选中当前的去除上一个
  8. Ted:1 Vulnhub Walkthrough
  9. c#串口通信并处理接收的多个参数
  10. 设计冲刺Design Sprint - 阅读记录