From faf93a30e1e0d062e39722ea037b1db4ff5217c2 Mon Sep 17 00:00:00 2001
From: moyin <244344649@qq.com>
Date: Wed, 31 Dec 2025 15:45:26 +0800
Subject: [PATCH] =?UTF-8?q?chore=EF=BC=9A=E6=9B=B4=E6=96=B0=E9=85=8D?=
=?UTF-8?q?=E7=BD=AE=E6=96=87=E4=BB=B6=E5=92=8C=E9=A1=B9=E7=9B=AE=E6=96=87?=
=?UTF-8?q?=E6=A1=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- 更新tsconfig.json配置以支持新的模块结构
- 添加REFACTORING_SUMMARY.md记录重构过程
- 更新git_commit_guide.md完善提交规范
- 添加相关图片资源
这些配置和文档更新支持项目架构重构后的正常运行
---
REFACTORING_SUMMARY.md | 163 ++++++++++++++++++
.../ab164782cdc17e22f9bdf443c7e1e96c.png | Bin 0 -> 495106 bytes
docs/development/git_commit_guide.md | 4 +
tsconfig.json | 5 +-
4 files changed, 170 insertions(+), 2 deletions(-)
create mode 100644 REFACTORING_SUMMARY.md
create mode 100644 docs/development/ab164782cdc17e22f9bdf443c7e1e96c.png
diff --git a/REFACTORING_SUMMARY.md b/REFACTORING_SUMMARY.md
new file mode 100644
index 0000000..b27665d
--- /dev/null
+++ b/REFACTORING_SUMMARY.md
@@ -0,0 +1,163 @@
+# Zulip模块重构总结
+
+## 重构完成情况
+
+✅ **重构已完成** - 项目编译成功,架构符合分层设计原则
+
+## 重构内容
+
+### 1. 架构分层重构
+
+#### 移动到核心服务层 (`src/core/zulip/`)
+以下技术实现相关的服务已移动到核心服务层:
+
+- `zulip_client.service.ts` - Zulip REST API封装
+- `zulip_client_pool.service.ts` - 客户端连接池管理
+- `config_manager.service.ts` - 配置文件管理和热重载
+- `api_key_security.service.ts` - API Key安全存储
+- `error_handler.service.ts` - 错误处理和重试机制
+- `monitoring.service.ts` - 系统监控和健康检查
+- `stream_initializer.service.ts` - Stream初始化服务
+
+#### 保留在业务逻辑层 (`src/business/zulip/`)
+以下业务逻辑相关的服务保留在业务层:
+
+- `zulip.service.ts` - 主要业务协调服务
+- `zulip_websocket.gateway.ts` - WebSocket业务网关
+- `session_manager.service.ts` - 游戏会话业务逻辑
+- `message_filter.service.ts` - 消息过滤业务规则
+- `zulip_event_processor.service.ts` - 事件处理业务逻辑
+- `session_cleanup.service.ts` - 会话清理业务逻辑
+
+### 2. 依赖注入重构
+
+#### 创建接口抽象
+- 新增 `src/core/zulip/interfaces/zulip-core.interfaces.ts`
+- 定义核心服务接口:`IZulipClientService`、`IZulipClientPoolService`、`IZulipConfigService`
+
+#### 更新依赖注入
+业务层服务现在通过接口依赖核心服务:
+
+```typescript
+// 旧方式 - 直接依赖具体实现
+constructor(
+ private readonly zulipClientPool: ZulipClientPoolService,
+) {}
+
+// 新方式 - 通过接口依赖
+constructor(
+ @Inject('ZULIP_CLIENT_POOL_SERVICE')
+ private readonly zulipClientPool: IZulipClientPoolService,
+) {}
+```
+
+### 3. 模块结构重构
+
+#### 核心服务模块
+- 新增 `ZulipCoreModule` - 提供所有技术实现服务
+- 通过依赖注入标识符导出服务
+
+#### 业务逻辑模块
+- 更新 `ZulipModule` - 导入核心模块,专注业务逻辑
+- 移除技术实现相关的服务提供者
+
+### 4. 文件移动记录
+
+#### 移动到核心层的文件
+```
+src/business/zulip/services/ → src/core/zulip/services/
+├── zulip_client.service.ts
+├── zulip_client_pool.service.ts
+├── config_manager.service.ts
+├── api_key_security.service.ts
+├── error_handler.service.ts
+├── monitoring.service.ts
+├── stream_initializer.service.ts
+└── 对应的 .spec.ts 测试文件
+
+src/business/zulip/ → src/core/zulip/
+├── interfaces/
+├── config/
+└── types/
+```
+
+## 架构优势
+
+### 1. 符合分层架构原则
+- **业务层**:只关注游戏相关的业务逻辑和规则
+- **核心层**:只处理技术实现和第三方API调用
+
+### 2. 依赖倒置
+- 业务层依赖接口,不依赖具体实现
+- 核心层提供接口实现
+- 便于测试和替换实现
+
+### 3. 单一职责
+- 每个服务职责明确
+- 业务逻辑与技术实现分离
+- 代码更易维护和理解
+
+### 4. 可测试性
+- 业务逻辑可以独立测试
+- 通过Mock接口进行单元测试
+- 技术实现可以独立验证
+
+## 当前状态
+
+### ✅ 已完成
+- [x] 文件移动和重新组织
+- [x] 接口定义和抽象
+- [x] 依赖注入重构
+- [x] 模块结构调整
+- [x] 编译通过验证
+- [x] 测试文件的依赖注入配置更新
+- [x] 所有测试用例通过验证
+
+### ✅ 测试修复完成
+- [x] `zulip_event_processor.service.spec.ts` - 更新依赖注入配置
+- [x] `message_filter.service.spec.ts` - 已通过测试
+- [x] `session_manager.service.spec.ts` - 已通过测试
+- [x] 核心服务测试文件导入路径修复
+- [x] 所有Zulip相关测试通过
+
+## 使用指南
+
+### 业务层开发
+```typescript
+// 在业务服务中使用核心服务
+@Injectable()
+export class MyBusinessService {
+ constructor(
+ @Inject('ZULIP_CLIENT_POOL_SERVICE')
+ private readonly zulipClientPool: IZulipClientPoolService,
+ ) {}
+}
+```
+
+### 测试配置
+```typescript
+// 测试中Mock核心服务
+const mockZulipClientPool: IZulipClientPoolService = {
+ sendMessage: jest.fn().mockResolvedValue({ success: true }),
+ // ...
+};
+
+const module = await Test.createTestingModule({
+ providers: [
+ MyBusinessService,
+ { provide: 'ZULIP_CLIENT_POOL_SERVICE', useValue: mockZulipClientPool },
+ ],
+}).compile();
+```
+
+## 总结
+
+重构成功实现了以下目标:
+
+1. **架构合规**:符合项目的分层架构设计原则
+2. **职责分离**:业务逻辑与技术实现清晰分离
+3. **依赖解耦**:通过接口实现依赖倒置
+4. **可维护性**:代码结构更清晰,易于维护和扩展
+5. **可测试性**:业务逻辑可以独立测试
+
+项目现在具有更好的架构设计,为后续开发和维护奠定了良好基础。
\ No newline at end of file
diff --git a/docs/development/ab164782cdc17e22f9bdf443c7e1e96c.png b/docs/development/ab164782cdc17e22f9bdf443c7e1e96c.png
new file mode 100644
index 0000000000000000000000000000000000000000..5678daee66868725cd00df0f6cc4600d9c29ebcf
GIT binary patch
literal 495106
zcmXtf1yqyo`~C=JAj&`*1x9X&N=fHPM-K){3P=n|=?-a086e#tLqJIZ2}uDd_n})v
zVsuLXU%&tJ+krFA&i3wkpXa`>>$
}F1qcMX{Zvf}1p<)(e-dYbiGimP
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