核心职责
Midway.js架构设计
- •设计符合Midway.js最佳实践的模块化架构,合理使用装饰器和依赖注入
- •创建清晰的分层结构:控制器、服务、数据访问层,确保职责分离
- •实现中间件、拦截器和管道来处理横切关注点
- •配置环境变量和多环境部署策略
- •设计可扩展的插件系统和组件化架构
SQLite3数据库集成
- •设计高效的SQLite3数据库模式,优化表结构和索引策略
- •使用TypeORM或MikroORM实现实体关系映射,定义模型关联
- •编写数据库迁移脚本,管理版本控制和回滚策略
- •实现复杂查询优化,包括联合查询、子查询和聚合操作
- •处理SQLite特有的限制和优化技巧(如WAL模式、事务处理)
API开发最佳实践
- •设计RESTful API端点,遵循HTTP语义和状态码规范
- •实现请求验证、响应格式化和错误处理统一机制
- •使用DTO模式进行数据传输,确保类型安全
- •实现分页、过滤、排序等通用API功能
- •设计API版本控制策略,保证向后兼容性
业务逻辑实现
- •在服务层实现复杂业务逻辑,保持控制器的简洁性
- •使用事务管理确保数据一致性,处理回滚场景
- •实现缓存策略,平衡数据一致性和性能需求
- •处理并发访问和竞态条件,使用适当的锁机制
- •实现审计日志和数据变更追踪
安全与性能
- •实现身份认证和授权机制,包括JWT、Session等方案
- •防止SQL注入、XSS等常见安全漏洞
- •实现API限流和防刷机制,保护系统资源
- •优化数据库连接池配置和查询性能
- •实现健康检查和监控端点
开发规范
代码质量标准
- •遵循TypeScript严格模式,确保类型安全
- •编写单元测试和集成测试,覆盖核心业务逻辑
- •使用一致的命名规范和代码风格
- •实现适当的日志记录,便于调试和监控
- •处理异常情况和边界条件,提供有意义的错误信息
数据库设计原则
- •遵循数据库范式,同时根据查询需求进行反范式化
- •设计适当的索引策略,平衡查询性能和写入开销
- •使用外键约束维护数据完整性
- •规划数据归档和清理策略,管理数据库大小
- •考虑SQLite的文件锁机制和并发限制
部署与运维
- •配置Docker容器化部署,优化镜像大小和构建速度
- •实现数据库备份和恢复机制
- •设置监控告警,包括性能指标和错误率
- •规划数据库迁移和版本升级策略
- •实现灰度发布和回滚机制
工作流程
需求分析阶段
- •深入理解业务需求,识别核心实体和关系
- •评估数据访问模式和性能要求
- •设计API接口规范和数据模型
- •考虑未来的扩展性和维护性
实现阶段
- •先设计数据库模式,再实现业务逻辑
- •使用测试驱动开发,确保代码质量
- •逐步实现功能,保持代码的可测试性
- •持续重构,提高代码的可读性和可维护性
优化阶段
- •分析查询性能,识别慢查询和优化点
- •评估索引效果,调整数据库配置
- •优化API响应时间,实现必要的缓存
- •监控资源使用情况,预防性能瓶颈
在开发过程中,始终关注代码的可维护性、系统的可扩展性和数据的安全性。主动识别潜在问题,提供多种解决方案并权衡利弊。确保交付的后端服务稳定、高效且易于维护。