14、层次式架构设计理论与实践 核心学习笔记

本文系统梳理层次式架构设计理论,涵盖N层架构(表现层、中间层、数据访问层、数据层)、MVC/MVP/MVVM模式对比、业务逻辑层的Domain Model-Service-Control结构、数据访问层5种模式(DAO、DTO、ORM等)、工作流参考模型5大接口及物联网三层架构。结合Mermaid图解与真题分析,聚焦软考系统架构设计师高频考点。

【软考架构师】层次式架构设计理论与实践 核心学习笔记(附Mermaid图解与高频真题)

摘要:本文基于软考《系统架构设计师》第13章,深度解析了层次式架构设计的核心理论。本章是架构设计的绝对重点,涵盖了经典的N层架构(表现层、中间层、数据访问层、数据层)、MVC/MVP/MVVM的演变、业务逻辑层的领域模型设计、数据访问层的5种模式以及物联网三层架构。本文采用CSDN极客风格,结合Mermaid图表直观展示复杂流程(如表现层模式对比、工作流参考模型等),并附带典型真题解析,助力大家高效备考。
关键词:软考、系统架构设计师、层次式架构、MVC、MVP、MVVM、数据访问层、物联网架构、Mermaid图解


📑 目录


一、 层次式体系结构概述

层次式体系结构(N层架构模式)将系统组成一个层次结构,每一层为上层服务,并作为下层客户。内部的层接口只对相邻的层可见,只要给相邻层提供相同的接口,允许每层用不同的方法实现,为软件重用提供了强大的支持。

  • 核心思想:关注点分离。组件只负责本层逻辑,易于开发、测试、管理和维护。
  • 经典分层:表现层(展示层)、中间层(业务层)、数据访问层(持久层)和数据层。
  • ⚠️ 避坑指南(反模式):
    • 污水池反模式:请求流简单地穿过几个层,每层里面基本没有做任何业务逻辑。如果请求超过20%,应考虑让一些层变成开放的。
    • 架构庞大:分布模式复杂、健壮性下降、性能不足及代码规模膨胀。

数据层

数据库

数据访问层

组件

组件

中间层

组件

组件

表现层

组件

组件

Request

表现层

中间层/业务层

数据访问层

数据层


二、 表现层框架设计

2.1 MVC模式

MVC 强制把应用的输入、处理、输出流程按照**视图(View)、控制器(Controller)、模型(Model)**进行分离。

  • 视图:用户交互界面,不进行业务处理。
  • 控制器:接受用户输入,调用模型和视图。是UI与模型的接口。
  • 模型:业务数据和业务逻辑。一个模型能为多个视图提供数据(提高重用性)。
  • 特点:允许View和Model直接进行“交流”。

2.2 MVP模式

Presenter负责逻辑处理。MVP中View并不直接使用Model,它们通过Presenter通信,所有交互都发生在Presenter内部。

  • 区别:MVC中View直接从Model读取数据;MVP中View与Model完全分离。
  • 应用:目前被更多地用在Android开发中。

2.3 MVVM模式

MVVM全称是模型-视图-视图模型(Model-View-ViewModel),为解决MVP中UI种类变多、接口不断增加的问题而提出。

  • ViewModel(核心):专门用于数据转换的控制器。通过 DataBinding 实现View与Model之间的双向绑定。

MVVM

DataBinding双向绑定

View

ViewModel

Model

MVP

交互

View

Presenter

Model

MVC

直接交流

View

Model

Controller

2.4 UIP与基于XML的界面管理

  • UIP(User Interface Process):分为 User Interface Components(原表现层)和 User Interface Process Components(协调各部分、导航和工作流控制)。
  • 基于XML的界面管理(★★★):用XML生成配置文件及界面所需的元数据,按不同需求生成界面元素。包括:界面配置(静态定义)、界面动态生成、界面定制(动态修改,如修改菜单、工具栏)。

三、 中间层架构设计

业务框架位于中间层,采用容器的形式,便于系统功能的开发、代码重用和管理。

3.1 业务容器与核心组件

业务逻辑按照 Domain Model - Service - Control 思想实现:

  1. Domain Model:领域层业务对象,仅包含业务相关属性。
  2. Service:业务过程实现的组成部分,通过接口和契约联系。
  3. Control:服务控制器,不同服务之间的切换纽带。

3.2 业务逻辑的四部分

  • 领域实体:业务中的对象(属性和行为)。
  • 业务规则:完成动作必须满足的条件。
  • 数据完整性:某些数据不可少。
  • 工作流:业务流程的部分或全部自动化。

3.3 工作流参考模型

工作流管理联盟(WFMC)定义了工作流参考模型的 5个接口(★★★):

Interface 1: 导入/导出

Interface 2: 客户端应用

Interface 3: 应用程序调用

Interface 4: 协作

Interface 5: 监控

过程定义工具

工作流引擎

工作流客户端应用

相关应用

其他工作流引擎

管理与监视工具

💡 使用工作流的优点:将应用逻辑与过程逻辑分离。在不修改具体功能的情况下,通过修改过程模型改变系统功能。


四、 数据访问层设计

数据访问层存在5种经典模式(★★):

  1. 在线访问(Online Access):最基本,占用一个数据库连接不断与数据源交互。优点是能处理复杂Select且性能好;缺点是业务代码与数据访问代码完全耦合。
  2. DAO(Data Access Object):将底层数据访问操作与高层业务逻辑分离。对上层提供面向对象的数据访问接口。包含:DAO工厂类、DAO接口、DAO具体实现类、数据传输对象。
  3. DTO(Data Transfer Object):跨进程或网络边界传输数据的容器。不包含业务逻辑。
  4. 离线数据模式:数据从数据源获取后,以预定义结构存放在系统中,操作独立于后台数据源。
  5. ORM(Object-Relation Mapping):在关系型数据库和对象之间作映射(如Hibernate)。将数据库记录转换为对象,方便操作。

💡 连接对象管理(连接池):通过资源池解决资源频繁分配、释放造成的开销。系统初始化时创建连接放入池中,客户请求时复用,释放时不关闭而是放回池中。


五、 数据架构规划与XML存储

  • XML文档分类:
    • 以数据为中心:结构规则,内容同构,混合内容少(常用于Web数据传输)。
    • 以文档为中心:结构不规则,内容零散,混合内容多(常用于网页发布、E-mail)。
  • XML存储方式:
    • 基于文件:原始文本形式存储。无法获取结构化数据,查询只能返回原始文档。
    • 基于数据库:利用数据库技术(并发、一致性约束)。能管理结构化/半结构化数据,支持对文档内部数据操作。

六、 物联网层次架构设计

物联网分为三大层(★★★):

  1. 感知层:识别物体、采集信息。设备包括二维码识读器、RFID、摄像头、GPS、传感器等。
  2. 网络层:传递和处理信息。建立在现有的移动通信网和互联网基础上。
  3. 应用层:信息处理和人机交互。分为应用程序层(数据处理)和终端设备层(人机接口)。

感知层

网络层

应用层

采集数据

传输数据

应用程序层: 数据处理

终端设备层: 人机接口

移动通信网/互联网/专网

传感器/摄像头/GPS/RFID


七、 层次架构案例分析

以经典的 PetShop 演进为例:

  • PetShop 2.0:没有明显的数据访问层,业务逻辑层与数据访问职责混乱。
  • PetShop 3.0:将数据访问逻辑作为单独一层独立出来。
  • PetShop 4.0:完全采用“面向接口编程”思想。抽象出 IDAL 模块(脱离具体数据库依赖),引入 DALFactory 专门管理DAL对象的创建(工厂模式),实现了层与层之间的松散耦合。

依赖接口

创建

实现

实现

业务逻辑层 BLL

IDAL 接口模块

DALFactory 工厂

SQLServerDAL

OracleDAL


八、 典型真题解析

真题 1:分层架构思想
分层体现了()思想。
A. 关注点分离 B. 复用 C. 设计 D. 场景

答案:A
解析:分层架构的一个核心特性就是“关注分离”,每层组件只负责本层的逻辑。

真题 2:表现层模式辨析
在表现层设计模式中,允许View和Model直接进行“交流”的模式是()。
A. MVC B. MVP C. MVVM D. UIP

答案:A
解析:MVC允许View和Model直接交流;MVP中通过Presenter通信;MVVM通过ViewModel和双向绑定通信。

真题 3:工作流参考模型
工作流管理联盟(WFMC)将工作流定义为:业务流程的全部或部分自动化。工作流参考模型包括的组件是()。
A. 过程定义工具、工作流引擎、工作流客户端应用、相关应用、管理与监视工具
B. 工作流定义工具、工作流引擎、工作流客户端应用、相关应用、管理与监视工具
C. 工作流定义工具、工作流引擎、工作流客户端应用、工作流API、管理与监视工具
D. 过程定义工具、工作流引擎、工作流客户端应用、工作流API、管理与监视工具

答案:A
解析:WFMC定义的5个接口对应:过程定义工具、客户端应用程序、应用程序调用、工作流机协作、管理与监视工具。

真题 4:物联网感知层
物联网的感知层用于识别物体、采集信息。下列哪项不属于感知层设备()。
A. 摄像头 B. GPS C. 扫描仪 D. 指纹

答案:D
解析:感知层主要是物理世界的数据采集设备(类似五官和皮肤)。指纹是人的生物特征属性,并非直接用于物理世界数据采集的感知层硬件设备。


博主寄语:本章是软考架构师考纲中的“大块头”,无论是选择题还是案例分析题都极易出现。大家务必吃透MVC/MVP/MVVM的区别、业务逻辑层的Domain Model-Service-Control结构、数据访问层的5种模式以及PetShop 4.0面向接口编程的思想。祝大家逢考必过!如果觉得有帮助,欢迎点赞、收藏、留言交流~

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无心水

您的鼓励就是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值