《架构整洁之道》摘录 – 22

第 22 章 – 整洁架构

按照这些架构(六边形架构、DCI 架构、BCE 架构)设计出来的系统,通常都具有以下特点:

以几个同心圆画出来的整洁架构示意图,从里到外,各层分别是

依赖关系规则

源码中的依赖关系必须只指向同心圆的内层,即由低层机制指向高层策略。

业务实体

整个系统的关键业务逻辑。

系统中最不容易受外界影响而变动的部分。

用例

通常包含的是~特定应用场景~下的业务逻辑。

用例引导数据在业务实体之间的流入/流出,并指挥着业务实体利用其中的关键业务逻辑来实现用例的设计目标。

接口适配器

负责将数据从对用例和业务实体而言最方便操作的格式,转化成外部系统(譬如数据库以及 Web)最方便操作的格式。

譬如,如果我们采用的是 SQL 数据库,那么所有的 SQL 语句都应该被限制在这一层的代码中——而且是仅限于哪些需要操作数据库的代码。

框架与驱动程序

一般是由工具、数据库、Web 框架等组成的。在这一层,我们通常只需要编写一些与内层沟通的黏合性代码。


真正的架构很可能会超过四层。并没有某个规则约定一个系统的架构有且只能有四层。

当我们进行跨边界传输时,一定要采用内层最方便使用的形式。