vault backup: 2026-06-10 12:08:39

This commit is contained in:
2026-06-10 12:08:39 +08:00
parent 4684fd845c
commit 23a3765f61
16 changed files with 3882 additions and 0 deletions

View File

@@ -0,0 +1,101 @@
# UML九图速查手册
> **用途**考前快速回顾9种UML图的核心特征
---
## 📊 九种UML图一句话定位
| 想表达什么? | 用什么图? |
|--------------|-----------|
| 系统能干什么? | **用例图** |
| 系统里有哪些类?它们什么关系? | **类图** |
| 某一刻对象的具体情况? | **对象图** |
| 对象之间怎么按时间顺序交互? | **顺序图** |
| 对象之间怎么在空间上协作? | **协作图** |
| 一个对象的状态怎么变化? | **状态图** |
| 一个业务流程步骤怎么走? | **活动图** |
| 代码文件之间怎么依赖? | **组件图** |
| 软件部署在哪些硬件上? | **部署图** |
---
## 🔗 九图分类
```
UML图
├── 功能模型:用例图
├── 静态模型(结构):类图、对象图、包图
├── 动态模型(行为):顺序图、协作图、状态图、活动图
└── 物理模型(实现):组件图、部署图
```
---
## 📋 九图完整对比表
| 图类型 | 分类 | 描述几个对象? | 强调 | 核心元素 |
|--------|------|:---:|------|----------|
| **用例图** | 功能 | 多 | 系统功能全景 | 参与者、用例、系统边界 |
| **类图** | 静态结构 | 多 | 类的定义和关系 | 类、属性、操作、关系 |
| **对象图** | 静态结构 | 多 | 某一时刻的快照 | 对象、属性值、链 |
| **包图** | 静态结构 | 多 | 类的分组组织 | 包、依赖、泛化 |
| **顺序图** | 动态交互 | 多 | 消息的时间顺序 | 对象、生命线、控制焦点、消息 |
| **协作图** | 动态交互 | 多 | 对象的空间位置 | 对象、链、消息(带序号) |
| **状态图** | 动态行为 | **1个** | 状态如何变迁 | 状态、转移、事件 |
| **活动图** | 动态行为 | 多 | 流程步骤 | 活动、分支、泳道、分叉 |
| **组件图** | 物理实现 | 多 | 代码文件组织 | 组件、接口、依赖 |
| **部署图** | 物理实现 | 多 | 硬件拓扑 | 结点、组件、连接 |
---
## 🎨 各图关键语法速查
### 用例图
- 参与者 = 火柴人 🧑
- 用例 = 椭圆 ○
- 系统边界 = 方框 □
- 关系:包含 `<<include>>` (必然)、扩展 `<<extend>>` (条件)
### 类图
- 类 = 三格矩形(类名|属性|操作)
- 可见性:`+`公有 `-`私有 `#`受保护
- 六大关系:关联(实线)、聚合(空心菱形)、组合(实心菱形)、依赖(虚线)、泛化(空心三角)、实现(虚线空心三角)
### 顺序图
- 对象 + 生命线(虚线) + 控制焦点(矩形条) + 消息(箭头)
- 调用消息 = 实心箭头,异步消息 = 开放箭头
- 嵌套1 → 1.1 → 1.1.1
### 协作图
- 对象 + 链(实线) + 消息(带序号)
- 必须标注消息序号!没有时间轴
### 状态图
- 状态 = 圆角矩形,转移 = 箭头
- 事件/ [条件] / 动作
- 初始状态 ● → 终态 ⊙
### 活动图
- 活动 = 圆角矩形
- 分支 = 菱形 ◇
- 分叉/汇合 = 粗横线
- 泳道 = 纵向分区
### 组件图
- 组件 = 带<<component>>的矩形
- 关系主要是依赖(虚线箭头)
### 部署图
- 结点 = 3D立方体
- 通信路径 = 实线
---
## 📐 MVC版型速查
| 版型 | 图标 | 职责 | 例子 |
|------|------|------|------|
| <<boundary>> 边界类 | 带竖线的圆 | 与外界交互 | 登录页面、购物车页面 |
| <<control>> 控制类 | 带箭头的圆 | 协调逻辑 | 订单处理、支付验证 |
| <<entity>> 实体类 | 带横线的圆 | 持久化数据 | 用户、订单、商品 |

View File

@@ -0,0 +1,110 @@
# 设计原则与术语速查
> **用途**:考前快速回顾关键设计原则和术语
---
## 🔷 SOLID五大原则
| 原则 | 全称 | 含义 |
|------|------|------|
| **S** | 单一职责原则 | 一个类只负责一件事 |
| **O** | 开闭原则 | 对扩展开放,对修改关闭 |
| **L** | 里氏替换原则 | 子类可以替换父类而不出问题 |
| **I** | 接口隔离原则 | 接口要小而精,不要大而全 |
| **D** | 依赖倒置原则 | 依赖抽象(接口),不依赖具体实现 |
---
## 🔷 包设计四大原则
| 缩写 | 原则 | 含义 |
|------|------|------|
| **REP** | 重用等价原则 | 可一起复用的类放一个包 |
| **CCP** | 共同闭包原则 | 需要同时修改的类放一个包 |
| **CRP** | 共同重用原则 | 不会一起用的类分开放 |
| **ADP** | 非循环依赖原则 | 包之间的依赖不能形成环 |
---
## 🔷 其他重要原则
| 原则 | 含义 |
|------|------|
| **高内聚低耦合** | 包内关系紧密(内聚),包间关系稀疏(耦合) |
| **迪米特法则** | 最少知识原则——只跟"朋友"说话 |
| **组合优于继承** | 能用组合实现的效果,别用继承(更灵活) |
---
## 🔷 数据库三大范式
| 范式 | 要求 |
|------|------|
| **1NF** | 字段值不可再分(原子性) |
| **2NF** | 非主键字段完全依赖主键(消除部分依赖) |
| **3NF** | 非主键字段不传递依赖主键(消除传递依赖) |
---
## 🔷 对象模型→数据模型映射速查
| 对象模型 | 数据模型 |
|----------|----------|
| 类 | 表 |
| 属性 | 字段(列) |
| 操作 | 触发器 + 存储过程 |
| 1对0..*关联 | 多的一端加外键 |
| *对*关联 | 新建关联表 |
| 泛化关系 | 三种方案(父子各建表/只建子表/只建父表) |
---
## 🔷 需求工程术语速查
| 术语 | 定义 |
|------|------|
| **软件需求** | 用户对系统在功能、行为、性能、约束方面的期望 |
| **业务需求** | 组织的高层次目标 |
| **用户需求** | 用户使用系统完成的任务 |
| **功能需求** | 系统必须实现的功能 |
| **非功能需求** | 系统的质量属性和约束 |
| **SRS** | 软件需求规格说明书 |
| **需求基线** | 评审通过、双方承诺的需求版本 |
| **需求跟踪矩阵(RTM)** | 记录需求与设计、代码、测试对应关系的表 |
| **需求变更控制** | 变更申请→审批→修改→重新确认的流程 |
---
## 🔷 面向对象核心概念
| 概念 | 含义 |
|------|------|
| **封装** | 隐藏内部实现,只暴露接口 |
| **继承** | 子类自动拥有父类的属性和方法 |
| **多态** | 同一操作在不同对象上有不同行为 |
| **抽象** | 提取共性,忽略细节 |
---
## 🔷 关联关系多重性速记
| 符号 | 含义 |
|------|------|
| `1` | 恰好1个 |
| `0..1` | 0个或1个 |
| `*``0..*` | 0个或多个 |
| `1..*` | 至少1个 |
| `n` | 恰好n个 |
---
## 🔷 常见设计模式速查
| 模式 | 类型 | 解决什么问题 |
|------|------|-------------|
| **策略模式** | 行为型 | 同一功能有多种算法实现,可动态切换 |
| **工厂方法** | 创建型 | 创建对象时不指定具体类 |
| **组合模式** | 结构型 | 统一处理整体和部分(如文件系统目录和文件) |
| **DAO模式** | 数据访问 | 分离数据访问逻辑和业务逻辑 |
| **MVC模式** | 架构型 | 分离界面(View)、逻辑(Controller)、数据(Model) |