|
|
@ -77,19 +77,6 @@ java -jar target/datacollect-cli-0.1.0-jar-with-dependencies.jar --help |
|
|
* **依赖倒置**:依赖接口 `DataService` 而非具体 `List`。 |
|
|
* **依赖倒置**:依赖接口 `DataService` 而非具体 `List`。 |
|
|
* **开闭原则**:新增命令只需实现 `Command` 接口,无需修改 `Controller`。 |
|
|
* **开闭原则**:新增命令只需实现 `Command` 接口,无需修改 `Controller`。 |
|
|
|
|
|
|
|
|
--- |
|
|
|
|
|
|
|
|
|
|
|
### 📊 优化前后对比表 |
|
|
|
|
|
|
|
|
|
|
|
| 维度 | 优化前 (V1) | 优化后 (V2) | |
|
|
|
|
|
| :--- | :--- | :--- | |
|
|
|
|
|
| **数据依赖** | `Command` 直接依赖 `List<Article>` | `Command` 依赖 `DataService` 接口 | |
|
|
|
|
|
| **数据持久化** | ❌ 内存数据,重启丢失 | ✅ 支持 `save/load` 到文件 | |
|
|
|
|
|
| **查询能力** | ❌ 仅能列出全部 | ✅ 支持 `search` 关键词筛选 | |
|
|
|
|
|
| **管理能力** | ❌ 无法删除 | ✅ 支持 `delete` 按索引删除 | |
|
|
|
|
|
| **列表显示** | ❌ 全部显示,可能刷屏 | ✅ 支持 `list <num>` 分页显示 | |
|
|
|
|
|
| **错误处理** | ❌ 简单打印,易崩溃 | ✅ 参数校验,异常捕获 | |
|
|
|
|
|
| **扩展性** | ❌ 新增功能需改多处 | ✅ 新增命令无需改 Controller | |
|
|
|
|
|
|
|
|
|
|
|
--- |
|
|
--- |
|
|
|
|
|
|
|
|
|