backend-engineer

本skill指导如何理解产品需求,实现后端服务功能,构建业务领域和数据处理逻辑。

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "backend-engineer" with this command: npx skills add bdq460/shell-format/bdq460-shell-format-backend-engineer

后端工程师

本skill指导如何理解产品需求,实现后端服务功能,构建业务领域和数据处理逻辑。

何时使用本Skill

当后端工程师需要实现后端功能时使用,例如:

  • "我是后端工程师,需要实现后端功能..."

  • "我需要设计数据库和API..."

  • "请帮我实现这个后端服务..."

核心职责

  1. 需求理解
  • 理解产品需求和功能规格

  • 理解业务领域

  • 理解业务流程

  1. 业务实体识别
  • 识别业务实体

  • 分析实体关系

  • 建立数据模型

  1. 领域构建
  • 构建业务领域模型

  • 设计领域服务

  • 设计领域事件

  1. 后端服务实现
  • 实现API接口

  • 实现业务逻辑

  • 实现数据处理

  1. 数据持久化
  • 设计数据库表结构

  • 实现数据访问层

  • 实现数据缓存

关键技能

后端技术

  • 后端编程语言(Java/Python/Go/Node.js)

  • 框架(Spring Boot/Django/Express)

  • 数据库(MySQL/PostgreSQL/MongoDB)

业务建模能力

  • 业务实体识别

  • 业务领域建模

  • 数据建模

架构能力

  • 分层架构

  • 领域驱动设计(DDD)

  • 六边形架构

优化能力

  • 性能优化

  • 数据库优化

  • 缓存优化

输入物

  • 产品功能清单

  • 功能规格说明

  • 数据模型图

  • API文档

交付物

  • 后端服务代码

  • API文档

  • 数据库设计文档

  • 后端文档

质量标准

  • ✅ 功能实现完整

  • ✅ 代码质量高

  • ✅ 性能良好

  • ✅ 符合架构要求

工作流程

  • 需求接收:接收产品功能清单、功能规格说明、数据模型图

  • 需求理解:深入理解产品需求和业务流程

  • 业务分析:识别业务实体,建立数据模型

  • 领域构建:构建业务领域模型

  • 接口设计:设计API接口

  • 服务实现:实现后端服务

  • 数据持久化:设计数据库,实现数据访问层

  • 性能优化:优化性能

  • 测试验证:进行单元测试和集成测试

  • 代码提交:提交代码,进行代码评审

工作流程图

graph LR A[功能规格] -->|需求理解| B[业务分析] B -->|实体识别| C[业务模型] C -->|DDD建模| D[领域驱动设计] D -->|API设计| E[API规格说明] E -->|服务实现| F[业务逻辑实现] F -->|数据库设计| G[表结构设计] G -->|数据访问层| H[ORM实现] H -->|缓存优化| I[缓存层] I -->|性能优化| J[查询优化] J -->|单元测试| K[测试覆盖] K -->|集成测试| L{通过?} L -->|是| M[代码评审] L -->|否| N[修复问题] N -->|调整| F M -->|合并| O[提交到测试]

协作关系

  • 向上对接:产品专家、技术架构师

  • 平行对接:前端工程师、测试人员

后端开发方法论

方法1: 领域驱动设计(DDD)

  • 识别领域和子域

  • 建立领域模型

  • 设计聚合和实体

  • 设计领域服务和事件

核心概念:

  • 聚合:一致性边界,保证数据一致性

  • 实体:有唯一标识的对象

  • 值对象:无唯一标识的对象

  • 领域服务:不属于特定实体或值对象的业务逻辑

  • 领域事件:表示领域内发生的重要事件

方法2: 六边形架构

  • 分离领域层和应用层

  • 使用端口和适配器

  • 解耦业务逻辑和外部依赖

层次结构:

  • 领域层:业务逻辑、实体、值对象、领域服务

  • 应用层:应用服务、用例、领域事件

  • 适配器层:接口适配、持久化适配、消息适配

  • 基础设施层:外部依赖、框架、工具

依赖方向:外部依赖 → 适配器层 → 应用层 → 领域层

方法3: RESTful API设计

  • 使用RESTful风格

  • 设计合理的资源路径

  • 设计标准的HTTP方法

  • 设计清晰的错误处理

HTTP方法:

  • GET:获取资源

  • POST:创建资源

  • PUT:更新整个资源

  • PATCH:部分更新资源

  • DELETE:删除资源

数据库设计

数据库选择

  • 关系型数据库(MySQL/PostgreSQL):适合结构化数据、事务要求高的场景

  • 文档型数据库(MongoDB):适合非结构化数据、灵活schema的场景

  • 缓存数据库(Redis):适合缓存、会话存储的场景

表设计原则

  • 规范化:遵循第三范式,避免数据冗余

  • 索引:为查询字段创建索引

  • 分表分库:大数据量时考虑分表分库

  • 软删除:使用标记字段表示删除

常见误区

❌ 误区1: 只关注技术实现,不关注业务逻辑 ✅ 正确: 技术和业务并重,优先考虑业务逻辑

❌ 误区2: 不考虑性能,只关注功能实现 ✅ 正确: 在实现功能的同时考虑性能优化

❌ 误区3: 不考虑扩展性,只关注当前需求 ✅ 正确: 在设计时考虑系统的扩展性

成功案例

案例1: 报表导出功能后端实现

功能需求: 导出销售数据为Excel

实现步骤:

业务实体识别:

  • 销售记录(SalesRecord)

  • 产品(Product)

  • 客户(Customer)

  • 销售员(Salesperson)

领域构建:

  • SalesRecord聚合(包含销售明细)

  • ReportService(导出报表服务)

  • ExportJob(导出任务)

API设计:

  • POST /api/reports/export - 创建导出任务

  • GET /api/reports/export/{jobId} - 查询导出任务状态

  • GET /api/reports/export/{jobId}/download - 下载导出文件

服务实现:

  • ReportService.exportSalesData() - 导出销售数据

  • 导出参数验证(日期范围、产品分类、地区)

  • 数据查询和过滤

  • 数据转换为Excel

  • 保存到文件服务器

异步处理:

  • 使用消息队列处理导出任务

  • 实现导出进度跟踪

  • 实现导出完成通知

技术实现:

  • 使用Java + Spring Boot

  • 使用JPA进行数据访问

  • 使用Apache POI生成Excel

  • 使用RabbitMQ处理异步任务

  • 使用Redis缓存查询结果

案例2: 搜索功能后端实现

功能需求: 产品搜索功能

实现步骤:

业务实体识别:

  • 产品(Product)

  • 产品分类(ProductCategory)

  • 品牌(Brand)

领域构建:

  • Product聚合

  • SearchService(搜索服务)

  • SuggestionService(搜索建议服务)

API设计:

  • GET /api/search?q=keyword - 搜索产品

  • GET /api/search/suggestions?q=keyword - 搜索建议

  • GET /api/search/popular - 热门搜索

服务实现:

  • SearchService.search() - 搜索产品

  • 支持精准搜索和模糊搜索

  • 支持多字段搜索(名称、SKU、规格)

  • 支持排序和分页

性能优化:

  • 使用Elasticsearch搜索引擎

  • 实现搜索结果缓存

  • 实现热门搜索缓存

技术实现:

  • 使用Python + Django

  • 使用Django ORM进行数据访问

  • 使用Elasticsearch进行搜索

  • 使用Redis缓存查询结果

  • 使用Celery处理异步任务

使用指南

当用户说"我是后端工程师,需要实现后端功能..."时,按照以下步骤引导:

  • 需求接收:接收产品功能清单、功能规格说明、数据模型图

  • 需求理解:深入理解产品需求和业务流程

  • 业务分析:识别业务实体,建立数据模型

  • 领域构建:使用DDD方法构建业务领域模型

  • 接口设计:设计RESTful API接口

  • 服务实现:实现后端服务和业务逻辑

  • 数据持久化:设计数据库,实现数据访问层

  • 性能优化:优化数据库查询、实现缓存

  • 测试验证:进行单元测试和集成测试

  • 代码提交:提交代码,进行代码评审

输出质量检查清单

在提交后端代码之前,检查以下项目:

  • 功能实现完整

  • 代码质量高(遵循代码规范)

  • 业务逻辑正确

  • 数据库设计合理

  • API设计规范

  • 性能良好(查询优化、缓存)

  • 错误处理完善

  • 安全性考虑(SQL注入、XSS等)

  • 单元测试覆盖率高

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

tester

No summary provided by upstream source.

Repository SourceNeeds Review
General

product-documentation-expert

No summary provided by upstream source.

Repository SourceNeeds Review
General

requirements-analyst

No summary provided by upstream source.

Repository SourceNeeds Review
General

product-expert

No summary provided by upstream source.

Repository SourceNeeds Review