34 lines
1.2 KiB
Markdown
34 lines
1.2 KiB
Markdown
# 深层模块
|
|
|
|
源自《软件设计的哲学》:
|
|
|
|
**深层模块** = 小接口 + 大量实现
|
|
|
|
```
|
|
┌─────────────────────┐
|
|
│ 小接口 │ ← 少方法、简单参数
|
|
├─────────────────────┤
|
|
│ │
|
|
│ │
|
|
│ 深层实现 │ ← 隐藏复杂逻辑
|
|
│ │
|
|
│ │
|
|
└─────────────────────┘
|
|
```
|
|
|
|
**浅层模块** = 大接口 + 少量实现(应避免)
|
|
|
|
```
|
|
┌─────────────────────────────────┐
|
|
│ 大接口 │ ← 多方法、复杂参数
|
|
├─────────────────────────────────┤
|
|
│ 薄实现 │ ← 仅做透传
|
|
└─────────────────────────────────┘
|
|
```
|
|
|
|
设计接口时,请思考:
|
|
|
|
- 能否减少方法的数量?
|
|
- 能否简化参数?
|
|
- 能否在内部隐藏更多复杂度?
|