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.
|
|
|
|
|
---
|
|
|
|
|
|
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配置
|
|
|
|
|
|
- 数据保护:敏感数据加密存储
|