🚀 核心更新: - ✅ 完善 NestJS 企业级架构设计 - ✅ 优化配置中心和基础设施层 - ✅ 增强第三方服务集成能力 - ✅ 完善多租户架构支持 - 🎯 对标 Java Spring Boot 和 PHP ThinkPHP 📦 新增文件: - wwjcloud-nest 完整框架结构 - Docker 容器化配置 - 管理后台界面 - 数据库迁移脚本 🔑 Key: ebb38b43ec39f355f071294fd1cf9c42
2.9 KiB
2.9 KiB
WWJCloud 架构设计
架构概述
WWJCloud 基于 NestJS 框架设计,采用分层架构模式,参考 NiuCloud Java 和 PHP 版本的真实代码结构。
分层架构
1. Config 层 - 框架配置中心
职责: 提供框架级配置管理
- 环境变量管理
- 配置验证
- 配置热更新
- 框架级配置项
位置: src/config/
特点: 纯配置管理,不包含业务逻辑
2. Common 层 - 基础设施层
职责: 提供纯基础设施能力
- 安全认证和授权
- 链路追踪
- 缓存服务
- 队列服务
- 事件服务
- 定时任务调度
- 初始化管理
- 上下文管理
- API文档管理
位置: src/common/
特点: 纯基础设施,不包含业务逻辑
3. Core 层 - 核心业务逻辑层
职责: 提供核心业务能力
- 认证授权业务
- 系统管理业务
- 会员管理业务
- 支付业务
- 上传业务
- 通知业务
- 数据字典业务
- 多语言业务
位置: src/core/
特点: 核心业务逻辑,可被多个应用复用
4. Vendor 层 - 第三方集成层
职责: 提供第三方服务集成能力
- 支付服务集成
- 短信服务集成
- 通知服务集成
- 上传服务集成
- 存储服务集成
位置: src/vendor/
特点: 第三方服务适配器,支持动态切换
5. App 层 - 具体业务应用层
职责: 具体业务应用实现
- 特定业务逻辑
- 业务特定的控制器
- 业务特定的服务
位置: src/app/
特点: 具体业务实现,依赖其他层
依赖关系
App Layer
↓
Core Layer ← Vendor Layer
↓
Common Layer
↓
Config Layer
与 NiuCloud 的对应关系
Java 版本对应
niucloud-core/common/config/→src/config/(框架配置)niucloud-core/common/component/→src/common/(基础设施)niucloud-core/service/core/→src/core/(核心业务)niucloud-core/common/component/pay|sms|upload/→src/vendor/(第三方集成)
PHP 版本对应
core/dict/Config.php→src/config/(框架配置)core/base/→src/common/(基础设施)core/dict/→src/core/(核心业务)core/pay|sms|upload/→src/vendor/(第三方集成)
设计原则
- 单一职责: 每层只负责自己的职责
- 依赖倒置: 上层依赖下层,下层不依赖上层
- 开闭原则: 对扩展开放,对修改关闭
- 接口隔离: 使用接口定义契约
- 配置驱动: 通过配置驱动行为
微服务演进
未来可拆分为:
- Config 微服务: 配置中心
- Common+Vendor 微服务: 基础设施服务
- Core 微服务: 核心业务服务
- App 微服务: 具体业务服务
开发规范
- 命名规范: 遵循 NestJS 和业务对齐原则
- 目录结构: 按功能模块组织
- 依赖管理: 明确层间依赖关系
- 配置管理: 统一使用 Config 层
- 错误处理: 统一异常处理机制