分层架构
在应用系统开发中,采用严格的、单一的、真正的的分层架构是可以的,但实际上我们已经采用了多种架构模式设计系统。当多种不同范式的架构混合在一起,你会不会出现“指鹿为马”的现象呢?
严格分层架构
在研究分层架构时,常通过概念性的定义或 OSI 七层应用(架构)来说明或解释分层架构:
架构模式 Layers 有助于将应用程序划分为多组子任务,其中每组子任务都位于特定抽象层。

图片取自《 POSA , Vol.I , p22 》
作为一个在项目中引入分层架构的应用者,我们应该从更具体的规范来实现分层架构:
相邻层之间必须是单向耦合。上层只能依赖下层,下层永远不能依赖上层。
相邻层之间必须是单向通信。上层去调用下层所提供的接口,下层永远不能调用上层的接口。
《 POSA , Vol.I 》 为我们提供了更多的实现规范,然而我要解决的是有关层的单向依赖问题。因为有一些人在使用分层架构时,尤其是将分层架构引入到项目的目录结构时,对于某些对象的划分(从属)存在一些混乱问题。
如果你有兴趣了解更多分层架