《架构整洁之道》摘录 – 34
第 34 章 – 拾遗
代码设计和代码结构的几种方式:
- 按层封装,也就是传统的水平分层架构
- 按功能封装,即垂直切分,根据相关的功能、业务概念或者聚合根来切分
- 端口和适配器,参考
- 按组件封装
前两种方式不够好,端口和适配器的方式是之前章节介绍的架构,按组件封装是本章的作者提出的新的方式。
架构图中依赖方向没有问题,但是有可能会出现 Controller 绕过 Service,直接用 Repository 的现象(宽松的分层架构),这是不合理的。
对「组件」的定义:在一个执行环境(应用程序)中的、一个干净、良好的接口背后的一系列相关功能的集合。
按组件封装,如果写了「绕过」的代码,在编译阶段就会被阻止,因为 Repository 不暴露在外。
利用编译器来维护架构设计原则,而不要依赖个人自律和编译过程之后的工具。