forked from datawhale/whale-town-end
refactor:重构Zulip模块按业务功能模块化架构
- 将技术实现服务从business层迁移到core层 - 创建src/core/zulip/核心服务模块,包含API客户端、连接池等技术服务 - 保留src/business/zulip/业务逻辑,专注游戏相关的业务规则 - 通过依赖注入实现业务层与核心层的解耦 - 更新模块导入关系,确保架构分层清晰 重构后的架构符合单一职责原则,提高了代码的可维护性和可测试性
This commit is contained in:
68
src/core/zulip/zulip-core.module.ts
Normal file
68
src/core/zulip/zulip-core.module.ts
Normal file
@@ -0,0 +1,68 @@
|
||||
/**
|
||||
* Zulip核心服务模块
|
||||
*
|
||||
* 功能描述:
|
||||
* - 提供Zulip技术实现相关的核心服务
|
||||
* - 封装第三方API调用和技术细节
|
||||
* - 为业务层提供抽象接口
|
||||
*
|
||||
* @author angjustinl
|
||||
* @version 1.0.0
|
||||
* @since 2025-12-31
|
||||
*/
|
||||
|
||||
import { Module } from '@nestjs/common';
|
||||
import { ZulipClientService } from './services/zulip_client.service';
|
||||
import { ZulipClientPoolService } from './services/zulip_client_pool.service';
|
||||
import { ConfigManagerService } from './services/config_manager.service';
|
||||
import { ApiKeySecurityService } from './services/api_key_security.service';
|
||||
import { ErrorHandlerService } from './services/error_handler.service';
|
||||
import { MonitoringService } from './services/monitoring.service';
|
||||
import { StreamInitializerService } from './services/stream_initializer.service';
|
||||
import { RedisModule } from '../redis/redis.module';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
// Redis模块 - ApiKeySecurityService需要REDIS_SERVICE
|
||||
RedisModule,
|
||||
],
|
||||
providers: [
|
||||
// 核心客户端服务
|
||||
{
|
||||
provide: 'ZULIP_CLIENT_SERVICE',
|
||||
useClass: ZulipClientService,
|
||||
},
|
||||
{
|
||||
provide: 'ZULIP_CLIENT_POOL_SERVICE',
|
||||
useClass: ZulipClientPoolService,
|
||||
},
|
||||
{
|
||||
provide: 'ZULIP_CONFIG_SERVICE',
|
||||
useClass: ConfigManagerService,
|
||||
},
|
||||
|
||||
// 辅助服务
|
||||
ApiKeySecurityService,
|
||||
ErrorHandlerService,
|
||||
MonitoringService,
|
||||
StreamInitializerService,
|
||||
|
||||
// 直接提供类(用于内部依赖)
|
||||
ZulipClientService,
|
||||
ZulipClientPoolService,
|
||||
ConfigManagerService,
|
||||
],
|
||||
exports: [
|
||||
// 导出接口标识符供业务层使用
|
||||
'ZULIP_CLIENT_SERVICE',
|
||||
'ZULIP_CLIENT_POOL_SERVICE',
|
||||
'ZULIP_CONFIG_SERVICE',
|
||||
|
||||
// 导出辅助服务
|
||||
ApiKeySecurityService,
|
||||
ErrorHandlerService,
|
||||
MonitoringService,
|
||||
StreamInitializerService,
|
||||
],
|
||||
})
|
||||
export class ZulipCoreModule {}
|
||||
Reference in New Issue
Block a user