---
name: "架构师"
description: "根据用户需求进行整体架构设计，输出详细的架构方案文档，为后续编码提供明确指导。当需要为新项目或功能进行技术架构设计、评估技术可行性或优化现有系统架构时调用。"
---

# 架构师

## 功能说明

此技能专门用于根据用户需求进行全面的技术架构设计，主要功能包括：

1. **需求分析与拆解**：分析用户需求，拆解为技术实现要素

2. **整体架构设计**：生成完整的系统架构方案，包括：
   - 技术栈选择与论证
   - 系统分层与模块划分
   - 核心流程设计
   - 数据模型设计
   - 接口设计规范

3. **技术方案详细设计**：提供详细的技术实现方案，包括：
   - 关键类与函数设计
   - 数据库结构设计
   - API接口设计
   - 性能优化策略
   - 安全考虑因素

4. **编码指导文档**：生成可直接指导编码的详细文档，包括：
   - 代码结构与命名规范
   - 开发环境配置
   - 测试策略与方案
   - 部署与运维方案

## 使用场景

当遇到以下情况时，应调用此技能：

- **新项目启动**：为全新项目设计完整的技术架构
- **功能扩展**：为现有系统设计新功能的架构方案
- **技术重构**：评估并设计系统重构的架构方案
- **技术选型**：为特定需求选择合适的技术栈
- **编码指导**：为开发团队提供详细的编码实现指南

## 使用方法

1. 提供详细的需求描述，包括：
   - 业务目标与范围
   - 功能需求列表
   - 非功能需求（性能、安全、可扩展性等）
   - 技术约束与偏好

2. 调用此技能生成初始架构设计方案

3. 评审架构方案并提供反馈

4. 基于反馈进行调整优化

5. 获取最终的架构设计文档和编码指导

## 输出内容

### 架构设计文档包含：

1. **技术栈选择**：推荐的技术栈及其选型理由

2. **系统架构图**：整体系统的分层与模块关系

3. **核心流程设计**：关键业务流程的技术实现路径

4. **数据架构**：数据库设计、数据流向与存储策略

5. **接口设计**：API接口规范与调用关系

6. **部署架构**：系统部署方案与环境配置

### 编码指导文档包含：

1. **代码结构**：项目目录结构与文件组织

2. **编码规范**：命名约定、代码风格与最佳实践

3. **实现指南**：关键功能的具体实现步骤

4. **测试策略**：单元测试、集成测试与端到端测试方案

5. **性能优化**：性能瓶颈识别与优化建议

6. **安全实践**：安全漏洞防范与最佳安全实践

## 示例

### 输入示例
用户需求："设计一个在线商城系统，包括商品管理、用户管理、购物车、订单管理和支付功能，需要支持高并发访问和数据安全"

### 输出示例

#### 架构设计方案

**技术栈选择**：
- 前端：React + TypeScript + Redux
- 后端：Node.js + Express + MongoDB
- 数据库：MongoDB + Redis（缓存）
- 支付：集成第三方支付API
- 部署：Docker + Kubernetes

**系统架构图**：
- 前端层：React应用 → CDN缓存
- API层：Express路由 → 中间件
- 服务层：业务逻辑服务 → 微服务架构
- 数据层：MongoDB → Redis缓存
- 外部服务：支付网关 → 短信/邮件服务

**核心流程设计**：
1. 用户注册/登录流程
2. 商品浏览与搜索流程
3. 购物车管理流程
4. 订单创建与支付流程
5. 订单状态更新流程

**数据架构**：
- 用户表：存储用户信息与认证数据
- 商品表：存储商品信息与库存
- 购物车表：存储用户购物车数据
- 订单表：存储订单信息与状态
- 支付表：存储支付记录与交易信息

**接口设计**：
- 用户接口：/api/users/*
- 商品接口：/api/products/*
- 购物车接口：/api/cart/*
- 订单接口：/api/orders/*
- 支付接口：/api/payments/*

#### 编码指导文档

**代码结构**：
```
src/
├── frontend/
│   ├── components/
│   ├── pages/
│   ├── redux/
│   ├── services/
│   └── utils/
├── backend/
│   ├── api/
│   ├── services/
│   ├── models/
│   ├── middleware/
│   └── config/
└── shared/
    ├── types/
    └── utils/
```

**编码规范**：
- 前端：遵循ESLint + Prettier规范
- 后端：使用TypeScript类型定义
- 命名：采用驼峰命名法，类名使用 PascalCase
- 注释：关键代码必须有详细注释

**实现指南**：
1. 初始化项目结构与依赖
2. 实现用户认证系统
3. 开发商品管理功能
4. 实现购物车功能
5. 开发订单与支付流程
6. 集成第三方支付API

**测试策略**：
- 前端：Jest + React Testing Library
- 后端：Mocha + Chai
- 集成测试：Supertest
- 端到端测试：Cypress

**性能优化**：
- 前端：代码分割、图片优化、缓存策略
- 后端：数据库索引、Redis缓存、负载均衡
- API：响应压缩、请求限流、批量操作

**安全实践**：
- 认证：JWT + 密码哈希
- 授权：基于角色的访问控制
- 输入验证：参数校验与SQL注入防护
- 传输安全：HTTPS + CORS配置
- 数据保护：敏感数据加密存储