Docs:Common web application architectures

多层体系架构

多层体系架构 —— SOA 架构:
image.png

领域驱动设计(DDD)的经典分层架构:

  • 用户界面/展现层
    • 向用户提供一个接口(UI),使用应用层来和用户(UI)进行交互
  • 应用层
    • 应用层是展现层和领域层能够实现交互的中间者,协调业务对象去执行特定的应用任务
  • 领域层
    • 负责表达业务概念,包括业务对象和业务规则,领域模型处于这一层,是业务软件的核心
  • 基础设施层
    • 提供通用技术来支持更高的层。例如基础设施层的仓储(Repository)可通过 ORM 来实现数据交互,提供了层间的通信;为领域层实现持久化(数据库操作)机制;总之,基础设施层可以通过架构和框架来支持其他层的技术需求

image.png

表现层 多页 MVC、Web API
应用层 针对用户场景、用例设计应用层服务、隔离底层细节
领域层 专注于维护业务规则(编写业务代码和其处理流程时,尽量在纯粹的内存环境中进行考虑,更利于引入设计模式,不会被底层存储细节打断思路)
持久化层(基础设施) 负责数据查询和持久化

EF Core

image.png