[ PROMPT_NODE_23690 ]
Resources 实施手册
[ SKILL_DOCUMENTATION ]
# 架构模式实施手册
此文件包含技能中引用的详细模式、检查清单和代码示例。
## 核心概念
### 1. 整洁架构 (Clean Architecture - Uncle Bob)
**层级(依赖向内流动):**
- **实体 (Entities)**:核心业务模型
- **用例 (Use Cases)**:应用业务规则
- **接口适配器 (Interface Adapters)**:控制器、展示器、网关
- **框架与驱动 (Frameworks & Drivers)**:UI、数据库、外部服务
**关键原则:**
- 依赖指向内部
- 内部层对外部层一无所知
- 业务逻辑独立于框架
- 无需 UI、数据库或外部服务即可测试
### 2. 六边形架构 (Hexagonal Architecture - 端口与适配器)
**组件:**
- **领域核心 (Domain Core)**:业务逻辑
- **端口 (Ports)**:定义交互的接口
- **适配器 (Adapters)**:端口的实现(数据库、REST、消息队列)
**优势:**
- 易于替换实现(用于测试的 Mock)
- 技术无关的核心
- 清晰的关注点分离
### 3. 领域驱动设计 (DDD)
**战略模式:**
- **限界上下文 (Bounded Contexts)**:不同领域的独立模型
- **上下文映射 (Context Mapping)**:上下文之间的关系
- **通用语言 (Ubiquitous Language)**:共享术语
**战术模式:**
- **实体 (Entities)**:具有身份的对象
- **值对象 (Value Objects)**:由属性定义的不可变对象
- **聚合 (Aggregates)**:一致性边界
- **仓储 (Repositories)**:数据访问抽象
- **领域事件 (Domain Events)**:发生的事件
## 整洁架构模式
### 目录结构
app/
├── domain/ # 实体与业务规则
│ ├── entities/
│ │ ├── user.py
│ │ └── order.py
│ ├── value_objects/
│ │ ├── email.py
│ │ └── money.py
│ └── interfaces/ # 抽象接口
│ ├── user_repository.py
│ └── payment_gateway.py
├── use_cases/ # 应用业务规则
│ ├── create_user.py
│ ├── process_order.py
│ └── send_notification.py
├── adapters/ # 接口实现
│ ├── repositories/
│ │ ├── postgres_user_repository.py
│ │ └── redis_cache_repository.py
│ ├── controllers/
│ │ └── user_controller.py
│ └── gateways/
│ ├── stripe_payment_gateway.py
│ └── sendgrid_email_gateway.py
└── infrastructure/ # 框架与外部关注点
├── database.py
├── config.py
└── logging.py
### 实施示例
python
# domain/entities/user.py
from dataclasses import dataclass
from datetime import datetime
from typing import Optional
@dataclass
clas