知识卡片

分层架构边界失守案例

普通读书笔记卡 · 1959.f

内容

分层架构本为维护系统有序性,但若团队不守分层边界、不按层次分配类职责,边界会随职责乱入越来越模糊。真实案例:某项目业务逻辑层定义的EditableControlBase等类,直接继承展现层框架ASP.NET的UserControl控件类,同时又作为自定义控件的父类;继承它的子类本该属于展现层,却被定义在业务逻辑层。一旦逻辑层不守边界,分层架构规划清晰结构的价值就荡然无存。

参考来源

- 位置:《解构领域驱动设计》第1章《软件复杂度剖析》1.2.2节《结构》(源文件:_epub-src/OEBPS/010.xhtml) - 结论依据:原文以图1-3三层架构评审案例为证据,说明业务逻辑层类继承展现层框架控件类、子类却定义在展现层的边界混乱现象,并指出这会使分层架构失去规划清晰结构的价值。 - 原始内容:业务逻辑层定义了EditableControlBase、EditablePageBase与PageBase等类,它们都继承自ASP.NET框架的UserControl用户控件类……一旦逻辑层没有守住自己的边界,分层架构模式就失去了规划清晰结构的价值。