vault backup: 2026-06-11 00:02:06
This commit is contained in:
@@ -91,6 +91,294 @@
|
||||
|
||||
---
|
||||
|
||||
## 📌 附录:组件图与部署图常用画图符号速查
|
||||
|
||||
> 这一节把组件图、部署图里所有的画图元素(组件、接口、结点、关系)用字符画列出来。
|
||||
|
||||
### 1. 组件(Component)—— 矩形 + 左侧两个小矩形
|
||||
|
||||
```
|
||||
┌────┐
|
||||
├────┤ ┌─────────────────┐
|
||||
└────┘ │ <<component>> │ ← 字符画示意
|
||||
│ OrderService │ ← 实际画法(两个小矩形贴在
|
||||
└─────────────────┘ 组件图标的左上角)
|
||||
```
|
||||
|
||||
更形象的字符画(标准画法的样子):
|
||||
|
||||
```
|
||||
┌────────────────────────┐
|
||||
│ ╔══════════════╗ │
|
||||
╔═╧═╗║ OrderService ║ │ ← 左侧两个小方块
|
||||
║ ║╚══════════════╝ │ 右侧大矩形是组件名
|
||||
╚═══╝ │
|
||||
└────────────────────────┘
|
||||
```
|
||||
|
||||
简化字符画(更便于手写):
|
||||
|
||||
```
|
||||
┌──┐
|
||||
│ ├───── ┌────────────────┐
|
||||
└──┘ │ OrderService │
|
||||
└────────────────┘
|
||||
```
|
||||
|
||||
⚠️ **命名方式**:
|
||||
- `OrderService.java` —— 包含扩展名的具体组件
|
||||
- `<<component>>` + `OrderService` —— 用版型标识
|
||||
|
||||
### 2. 组件的两种画法
|
||||
|
||||
**带版型的标准画法**:
|
||||
|
||||
```
|
||||
┌──┐
|
||||
│ ├───── ┌────────────────────┐
|
||||
└──┘ │ <<component>> │
|
||||
│ OrderService │
|
||||
└────────────────────┘
|
||||
```
|
||||
|
||||
**简化的文件/类表示法**(在组件图里很常见):
|
||||
|
||||
```
|
||||
┌──┐
|
||||
│ ├───── ┌────────────────────┐
|
||||
└──┘ │ OrderService.java│ ← 写上扩展名
|
||||
└────────────────────┘
|
||||
```
|
||||
|
||||
### 3. 接口(Interface)—— 棒棒糖 / 插座
|
||||
|
||||
**棒棒糖表示法**(提供方在提供接口时用):
|
||||
|
||||
```
|
||||
┌──────┐
|
||||
客户端 │ 飞行 │ ← 圆圈 + 接口名
|
||||
┌────┐ │ │
|
||||
│ 鸟 │──●────┘ ↑ │ ← ● 是棒棒糖圆圈
|
||||
└────┘ │ │
|
||||
└───┘
|
||||
```
|
||||
|
||||
**插座表示法**(需要方在实现接口时用):
|
||||
|
||||
```
|
||||
┌────┐ ┌──────┐
|
||||
│ 鸟 │ ─────────┤ 飞行 │
|
||||
└────┘ ◀──── └──────┘
|
||||
│ 半圆+连接线 │
|
||||
│ (socket) │
|
||||
```
|
||||
|
||||
简化字符画:
|
||||
|
||||
```
|
||||
┌────────┐
|
||||
│ 鸟 │ ●────── 飞行 (提供方:lollipop)
|
||||
└────────┘
|
||||
|
||||
┌────────┐
|
||||
│ 飞机 │ ◀──半圆──── 飞行 (需要方:socket)
|
||||
└────────┘
|
||||
```
|
||||
|
||||
### 4. 组件之间的关系
|
||||
|
||||
**依赖关系**(最常见 —— 一个组件调用另一个组件):
|
||||
|
||||
```
|
||||
┌──┐ ┌──┐
|
||||
│ ├──────┐ │ │
|
||||
└──┘ │ └──┘
|
||||
│ ┌────────────────┐
|
||||
│ │ LoginService │
|
||||
│ └────────────────┘
|
||||
│ ┌────────────────┐
|
||||
┌─────────┴─▶│ UserService │
|
||||
│ ┌────────────────┐ │
|
||||
└──│ LoginUI │ │
|
||||
└────────────────┘ │
|
||||
┌──┐ │
|
||||
│ ├──┐ ┌────────────────┐ │
|
||||
└──┘ └─▶│ DataService │◀───┘
|
||||
└────────────────┘
|
||||
(虚线箭头表示依赖)
|
||||
```
|
||||
|
||||
简化画法(虚线箭头):
|
||||
|
||||
```
|
||||
┌──────────────┐
|
||||
│ OrderUI │
|
||||
│ OrderCtrl │ ╌ ─ ─ ─ ─ ─▶ ┌──────────────┐
|
||||
└──────────────┘ (依赖) │ OrderService│
|
||||
└──────────────┘
|
||||
```
|
||||
|
||||
**实现关系**(组件实现接口):
|
||||
|
||||
```
|
||||
┌──────────────┐ ●──── 支付接口
|
||||
│ 支付组件 │ ──────────── /
|
||||
└──────────────┘ 实现关系
|
||||
```
|
||||
|
||||
### 5. 结点(Node)—— 立方体
|
||||
|
||||
> 部署图的核心元素。立方体代表一台**物理设备**。
|
||||
|
||||
**字符画表现**(立方体用三视图):
|
||||
|
||||
```
|
||||
┌──────────────┐
|
||||
╱│ ╱│
|
||||
╱ │ ╱ │
|
||||
┌──────────────┐ │
|
||||
│ │ │ │
|
||||
│ │ Web │ │
|
||||
│ │ Server │ │
|
||||
│ └───────────│──┘
|
||||
│ ╱ │ ╱
|
||||
│╱ │╱
|
||||
└──────────────┘
|
||||
```
|
||||
|
||||
**简化字符画**(考试/笔记常用):
|
||||
|
||||
```
|
||||
┌──────────────┐
|
||||
│ ┌────────┐ │
|
||||
│ │ Web │ │ ← 立方体的"上表面"(可选)
|
||||
│ │ Server │ │
|
||||
│ └────────┘ │
|
||||
└──────────────┘
|
||||
|
||||
┌──────────┐
|
||||
╱│ Web ╱│
|
||||
╱ │ Server ╱ │
|
||||
┌──────────┐ │
|
||||
│ ┌────┐ │ │
|
||||
│ │名称│ │ │
|
||||
│ └────┘ │ │
|
||||
└──────────┘ │
|
||||
│ │ ╱
|
||||
└────────┘
|
||||
```
|
||||
|
||||
最简洁的字符画(最推荐使用):
|
||||
|
||||
```
|
||||
╔═══════════════╗
|
||||
║ <<device>> ║ ← 设备结点
|
||||
║ WebServer ║
|
||||
╚═══════════════╝
|
||||
```
|
||||
|
||||
**处理机结点 vs 设备结点**(都用立方体,靠版型区分):
|
||||
|
||||
```
|
||||
处理机结点 设备结点
|
||||
|
||||
╔═══════════════╗ ╔═══════════════╗
|
||||
║ <<processor>> ║ ║ <<device>> ║
|
||||
║ WebServer ║ ║ Modem ║
|
||||
╚═══════════════╝ ╚═══════════════╝
|
||||
(有CPU,可计算) (没有计算能力)
|
||||
```
|
||||
|
||||
### 6. 结点内运行的组件
|
||||
|
||||
> 在结点立方体里"装"上组件,组件画在结点内部。
|
||||
|
||||
```
|
||||
╔═══════════════════════════╗
|
||||
║ <<processor>> ║
|
||||
║ WebServer ║
|
||||
║ ║
|
||||
║ ┌──┐ ║
|
||||
║ │ ├──── ┌────────────┐ ║
|
||||
║ └──┘ │<<component>>║ ║
|
||||
║ │ WebApp.jar │ ║
|
||||
║ └────────────┘ ║
|
||||
║ ║
|
||||
║ ┌──┐ ║
|
||||
║ │ ├──── ┌────────────┐ ║
|
||||
║ └──┘ │<<component>>║ ║
|
||||
║ │ DBDriver │ ║
|
||||
║ └────────────┘ ║
|
||||
╚═══════════════════════════╝
|
||||
```
|
||||
|
||||
简化版本:
|
||||
|
||||
```
|
||||
╔═══════════════╗
|
||||
║ WebServer ║
|
||||
║ ║
|
||||
║ ┌──┐ ║
|
||||
║ │ ├─ WebApp ║ ← 组件在结点里
|
||||
║ └──┘ ║
|
||||
╚═══════════════╝
|
||||
```
|
||||
|
||||
### 7. 结点之间的连接
|
||||
|
||||
> 部署图上的"线"表示物理通信路径。
|
||||
|
||||
```
|
||||
╔═══════════╗ ╔═══════════╗
|
||||
║ 客户端 ║ ║ 服务器 ║
|
||||
║ (PC机) ║ ║ ║
|
||||
╚═════╤═════╝ ╚═════╤═════╝
|
||||
│ │
|
||||
│ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │
|
||||
│ TCP/IP │
|
||||
│ │
|
||||
```
|
||||
|
||||
**多重连接**(同一对结点可能有多种连接):
|
||||
|
||||
```
|
||||
╔═══════════╗ ╔═══════════╗
|
||||
║ 客户端 ║ ━━━━━━━TCP/IP ━━━━━━━━━ ║ Web服务器 ║
|
||||
║ ║ ━━━━━━━ HTTPS ━━━━━━━━━ ║ ║
|
||||
╚═══════════╝ ╚═══════════╝
|
||||
```
|
||||
|
||||
### 8. 完整部署图示例
|
||||
|
||||
```
|
||||
TCP/IP
|
||||
━━━━━━━━━━━━━━━━━━━━
|
||||
╔══════════╗ ╔══════════════════╗
|
||||
║<<device>>║ ║ <<processor>> ║
|
||||
║ 客户机 ║ ║ Web服务器 ║
|
||||
║ ║ ║ ║
|
||||
║ ┌──┐ ║ ║ ┌──┐ ║
|
||||
║ │ ├─◀━━╫━━━━━━调用━━━━━━━━╫──┤ ├─ WebApp.jar║
|
||||
║ └──┘ ║ ║ └──┘ ║
|
||||
║ 浏览器 ║ ║ ║
|
||||
╚══════════╝ ╚══════════════════╝
|
||||
│
|
||||
│ JDBC
|
||||
│
|
||||
╔══════════════════╗
|
||||
║ <<processor>> ║
|
||||
║ 数据库服务器 ║
|
||||
║ ║
|
||||
║ ┌──┐ ║
|
||||
║ │ ├─ MySQL.db ║
|
||||
║ └──┘ ║
|
||||
╚══════════════════╝
|
||||
```
|
||||
|
||||
🔑 **一句话记忆口诀**:组件左上方两个小方块,接口是圆圈加棒棒糖;结点是立方体(靠版型区分处理机/设备),立方体里装组件,立方体之间是通信连接。
|
||||
|
||||
---
|
||||
|
||||
## ✍️ 边学边练
|
||||
|
||||
**题目**:某Web系统包括以下内容,请区分逻辑模型和物理模型。
|
||||
|
||||
Reference in New Issue
Block a user