系统架构设计师 | VIP课程 | 知识精讲 专栏

ONEP软考智能体年卡VIP付费专属内容:涵盖速通课程、项目背景、优质范文、论文精批、知识拓展六大类内容,提供全流程备考支持。

本篇内容摘要

案例11 层次式架构设计(分层MVCBS-CS污水池反模式)精讲(VIP专享):主要教材出处:第 13 章 层次式架构设计(13.1 层次式体系结构、13.2 MV系统梳理该考点的核心定义、原理与高频易错点,配真题示例与记忆口诀,从原理到实战一次吃透,稳拿对应分值。

❤️‍🔥 83
2026/08/02
☆
▶

deepread11|案例11 层次式架构设计(分层MVCBS-CS污水池反模式)详解

ONEPSOFT | 软考学习知识库


deepread11|案例11 层次式架构设计(分层MVCBS-CS污水池反模式)详解

一、知识点定位

  • 主要教材出处:第 13 章 层次式架构设计(13.1 层次式体系结构、13.2 MVC 等、13.7 案例)。多层 C/S、B/S 定义教材在第 12 章 12.2.4,本处一并涵盖。
  • 在考试中的角色:案例高频(Web 系统架构必考分层 + MVC + B/S),选择题考分层概念、MVC 三组件职责、B/S 与 C/S 区别、污水池反模式。
  • 与 #1 关联:分层是 " 调用/返回 " 风格里的 " 层次结构 " 具体形态(#1 提到);与 #10 总体框架呼应(应用层内再分层)。

一句话定位:层次式架构把系统分表现/中间 (业务)/数据访问/数据四层,层间只相邻可见、上层依赖下层;MVC 是表现层经典模式(控制器 - 模型 - 视图);B/S 是 " 通用客户端的多层 C/S";要警惕 " 污水池反模式 "(层只传话不做业务)。


二、教材原文精摘(第 13 章,原封不动)

【分层概念】原文:

层次式体系结构设计是将系统组成一个层次结构,每一层为上层服务,并作为下层客户。内部的层接口只对相邻的层可见。每层最多只影响两层,只要给相邻层相同接口,允许每层不同方法实现。

分层架构的特性是关注分离 (separation of concerns):组件只负责本层逻辑,角色职责明确,易开发测试维护。

大部分应用分:表现层(展示层)、中间层(业务层)、数据访问层(持久层)和数据层。

【污水池反模式】原文:

污水池反模式 (architecture sinkhole anti-pattern):请求流简单穿过几层,每层基本没做业务逻辑。用二八原则判断——若此类请求超过 20%,应考虑让一些层变成开放的。

【MVC 三组件与交互】原文:

MVC 把输入、处理、输出按视图、控制、模型分离,形成控制器、模型、视图三核心模块。

交互:控制器接收用户请求→决定调哪个模型处理;模型做业务逻辑返回数据;控制器调相应视图格式化数据并呈现给用户。

MVC 优点:多种界面扩展(视图与模型无必然联系,只过控制器);易维护;功能强。MVC 中 View 可直接从 Model 读数据(MVP/MVVM 则禁止,必须经 Presenter/ViewModel)。

【MVP / MVVM(对照)原文:

MVP:View 不直接用 Model,通信经 Presenter;MVC 中 View 可直接读 Model。

MVVM:View 与 Model 通信经 ViewModel。

【B/S 与 C/S】原文:

两层 C/S = 前台客户端 + 后台数据库(胖客户端,界面 + 业务逻辑集成一单元)。

三层 C/S / B/S:B/S 是浏览器/服务器,Web 浏览器是客户应用,经 HTTP 与 Web 服务器相连;B/S 实质是 " 采用通用客户端界面的三层 C/S 结构 ",通信仍为 TCP/IP,仅应用层协议标准化。

多层 C/S:三层以上,四层即前台界面、Web 服务器、中间件 (应用服务器)、数据库服务器。


三、系统解读(逐段讲透)

  • 针对分层:核心是 "相邻可见、上层依赖下层、每层只管自己逻辑(关注分离)"。四层职责:表现 (展示)/中间 (业务)/数据访问 (持久)/数据 (库)。好处=易复用、易维护、易测试。
  • 针对污水池反模式:这是案例常考陷阱——如果一层只是 " 传话筒 "(如业务层只调持久层、无逻辑),且超 20% 请求都这样,就该把层 " 开放 "(跳过)。二八原则判断。
  • 针对 MVC:记死交互链——Controller 收请求→Model 处理业务返回数据→Controller 调 View 展示。MVC 允许 View 直接读 Model;MVP/MVVM 禁止(必须经中间人)。这是三者最大区别。
  • 针对 B/S vs C/S:两层 C/S=胖客户端(界面 + 业务 + 库全在前台);B/S=通用浏览器客户端的三层 C/S(浏览器只展示,业务逻辑在 Web/应用服务器,数据在库);通信本质都是 TCP/IP,B/S 仅把应用层协议标准化为 HTTP。

核心一句话总结:分层=四层相邻依赖 + 关注分离;MVC=控收→模处→控展(View 可读 Model);B/S=通用客户端的三层 C/S;警惕污水池(层只传话>20% 要开放)。


四、工程实践举例(土木工程视角)

你做土木工程," 分层建造/专业分工 " 与层次式架构同构:

  • 分层(每层为上层服务、接口仅相邻可见)↔ 结构分层建造:基础层→主体层→装饰层,每层服务上层、接口只与相邻层对接(基础不直连装饰)。改主体不影响基础(只要接口不变)——正对应 " 每层最多影响两层、可独立实现 "。
  • 关注分离 ↔ 专业分工:土建/机电/装修各管一层,职责清晰、易并行施工维护——正对应 " 组件只负责本层逻辑 "。
  • 四层(表现/中间/数据访问/数据)↔ 项目四层:展示层↔交付界面 (观感);业务层↔施工工艺逻辑;数据访问↔材料/数据接口层;数据层↔基础数据库——各层职责对应。
  • MVC ↔ 三权分立(项目经理/施工/展示):Controller(项目经理) 收指令→Model(施工队) 做活返回成果→Controller 调 View(样板展示) 呈现。MVC 允许 View 直接看 Model(像展示直接看现场),MVP 则必须经项目经理——权限管控差异。
  • 污水池反模式 ↔ 无效中间管理:某管理层只传话不做实质决策(像业务层只调持久层),且超 20% 都这样→该撤并(开放层)。正对应 " 请求穿过层不做业务 "。
  • B/S ↔ 通用终端访问:任何电脑装浏览器就能用(通用客户端),业务逻辑在服务端;C/S 胖客户端↔专用软件(像专用施工终端,界面业务都装本地)。
  • PetShop 分层演进 ↔ 项目从混乱到清晰:早期没独立数据访问层(业务数据混一起,改库要大改)→后来分出数据访问层(清晰,改库不影响业务)——正对应分层价值。

知识点 ↔ 工程实践 对照表

教材知识点要素你的实践场景对应映射说明
分层(相邻可见/上层依赖下层)结构分层建造基础→主体→装饰
关注分离专业分工土建/机电/装修各管
四层职责项目四层展示/业务/数据访问/数据
MVC 交互三权分立控收→模处→控展
MVC 允许 View 读 Model展示直看现场MVP 则经项目经理
污水池反模式无效中间管理只传话>20% 要撤
B/S通用浏览器终端通用客户端三层 C/S
PetShop 演进项目分层从混到清分出数据访问层

当知识点涉及MVC 交互时,补充流程:

流程图(结构化呈现)

  1. 控制器 Controller
  2. 模型 Model·业务逻辑
  3. 用户请求
  4. 视图 View·展示

对应关系

节点A关系节点B
模型 Model·业务逻辑返回数据控制器 Controller
视图 View·展示呈现用户请求

运维视角提示:分层架构 " 关注分离 " 让每层可独立部署/扩容/监控——运维按层自治(表现层扩 Web 服务器、数据层管库)。污水池反模式在运维上意味着 " 多余一层增加故障点却无价值 ",应合并减运维面。B/S 集中服务端,运维只需管服务器不用管客户端——运维友好。分层即运维边界。

相关VIP内容推荐......

⤴️分享
⬅️返回
1
2026/08/02
deepread1|论文1 软件架构设计(架构风格选型论证)详解
2
2026/08/02
deepread2|论文2 质量属性与架构评估(ATAM效用树场景权衡)详解
3
2026/08/02
deepread3|论文3 云原生架构设计(容器 / 微服务 / Serverless / 服务网格)详解
4
2026/08/02
deepread4|论文4 大数据处理架构(Lambda / Kappa 对比与选型)详解
5
2026/08/02
deepread5|论文5 安全架构设计(BLP / Biba / Chinese Wall / WPDRRC)详解
6
2026/08/02
deepread6|论文6 面向服务架构 SOA(ESB / Web Service / REST / 微服务演进)详解
7
2026/08/02
deepread7|论文7 软件架构演化与维护(大型网站10阶段演化可维护性)详解
8
2026/08/02
deepread8|论文8 软件可靠性设计(定义 / 定量描述 / 容错三技术)详解
9
2026/08/02
deepread9|论文9 系统建模(结构化 DFD / UML 13 图·4+1 视图 / ER 图)详解
10
2026/08/02
deepread10|案例10 信息系统架构设计(ISA框架CSF-SST-BSP规划架构风格)详解
11
2026/08/02
deepread11|案例11 层次式架构设计(分层MVCBS-CS污水池反模式)详解
12
2026/08/02
deepread12|案例12 云原生架构设计(六原则微服务生态中台案例)详解
13
2026/08/02
deepread13|案例13 面向服务架构SOA(服务识别三法ESB集成治理案例)详解
14
2026/08/02
deepread14|案例14 嵌入式系统架构设计(特点实时性层次化HAL鸿蒙)详解
15
2026/08/02
deepread15|案例15 通信系统架构设计(OSI-TCP-IP分层5G-SBA-SDN高可用)详解
16
2026/08/02
deepread16|案例16 安全架构设计(CIA三防线WPDRRC-AAA混合云五安全)详解
17
2026/08/02
deepread17|案例17 大数据处理架构设计(Lambda-Kappa-4V主数据集)详解
18
2026/08/02
deepread18|案例18 质量属性与架构评估(场景六要素-效用树-ATAM敏感权衡点)详解
19
2026/08/02
deepread19|案例19 系统性能与高可用优化(Amdahl-缓存集群-冗余-可用度)详解
20
2026/08/02
deepread20|案例20 高质量属性实战(效用树量化-权衡分析-可靠度计算)详解
21
2026/08/02
deepread21|案例21 性能容量规划(并发-TPS-Little定律-Amdahl上限)详解
ONEPSOFT品牌标识
ONEP软考 | 年卡VIP知识库
© 2025 ONEPSOFT. All rights reserved.