You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.
---
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配置
- 数据保护:敏感数据加密存储