MVC

http://timd.cn/mvc


阿里巴巴 Java 开发手册中的应用分层

http://download.timd.cn/books/alibaba-java-manual.pdf

biz.png

biz 层:

service 层注重基础基础业务的处理;biz 层是复杂应用层的业务层。


美团技术博客 - DDD 实践

https://tech.meituan.com/2017/12/22/ddd-in-practice.html


DDD - 四层架构

four-layered-architecture.png

  1. User Interface 为用户界面层(或表现层),负责向用户显示信息和解释用户命令。这里指的用户可以是另一个计算机系统,不一定是使用用户界面的人。
  2. Application 为应用层,定义软件要完成的任务,并且指挥表达领域概念的对象来解决问题。这一层所负责的工作对业务来说意义重大,也是与其它系统的应用层进行交互的必要渠道。应用层要尽量简单,不包含业务规则或者知识,而只为下一层中的领域对象协调任务,分配工作,使它们互相协作。它没有反映业务情况的状态,但是却可以具有另外一种状态,为用户或程序显示某个任务的进度。
  3. Domain 为领域层(或模型层),负责表达业务概念,业务状态信息以及业务规则。尽管保存业务状态的技术细节是由基础设施层实现的,但是反映业务情况的状态是由本层控制并且使用的。领域层是业务软件的核心,领域模型位于这一层。
  4. Infrastructure 层为基础实施层,向其他层提供通用的技术能力:为应用层传递消息,为领域层提供持久化机制,为用户界面层绘制屏幕组件等。基础设施层还能够通过架构框架来支持四个层次间的交互模式。

传统的四层架构都是限定型松散分层架构,即 Infrastructure 层的任意上层都可以访问该层(“L”型),而其它层遵守严格分层架构


每日优鲜的分层

meiriyouxian.jpeg


六边形架构

Alistair Cockburn 的博客:https://alistair.cockburn.us/hexagonal-architecture/

ThoughtWorks 从三明治到六边形:https://insights.thoughtworks.cn/architecture-from-sandwich-to-hexagon/


六边形架构示例

https://github.com/thombergs/buckpal