Files
wwjcloud/ARCHITECTURE.md
wanwu 2285206b3f feat: WWJCloud 企业级全栈框架 v0.3.5 完整更新
🚀 核心更新:
-  完善 NestJS 企业级架构设计
-  优化配置中心和基础设施层
-  增强第三方服务集成能力
-  完善多租户架构支持
- 🎯 对标 Java Spring Boot 和 PHP ThinkPHP

📦 新增文件:
- wwjcloud-nest 完整框架结构
- Docker 容器化配置
- 管理后台界面
- 数据库迁移脚本

🔑 Key: ebb38b43ec39f355f071294fd1cf9c42
2025-10-13 01:27:37 +08:00

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.phpsrc/config/ (框架配置)
  • core/base/src/common/ (基础设施)
  • core/dict/src/core/ (核心业务)
  • core/pay|sms|upload/src/vendor/ (第三方集成)

设计原则

  1. 单一职责: 每层只负责自己的职责
  2. 依赖倒置: 上层依赖下层,下层不依赖上层
  3. 开闭原则: 对扩展开放,对修改关闭
  4. 接口隔离: 使用接口定义契约
  5. 配置驱动: 通过配置驱动行为

微服务演进

未来可拆分为:

  • Config 微服务: 配置中心
  • Common+Vendor 微服务: 基础设施服务
  • Core 微服务: 核心业务服务
  • App 微服务: 具体业务服务

开发规范

  1. 命名规范: 遵循 NestJS 和业务对齐原则
  2. 目录结构: 按功能模块组织
  3. 依赖管理: 明确层间依赖关系
  4. 配置管理: 统一使用 Config 层
  5. 错误处理: 统一异常处理机制