犁书重构规划
乐书网络内部开发分享,非相关人员忽略
重构核心任务
整合B端/C端服务
相当于不同的产品:
- 微信书、微博书、QQ书
- 简书
- 指南猫书
- 诗歌书
主要区别:
- 数据来源
- 排版方式
- 支付、结算方式
前后端分离
jsp与SPA混合
将用户页面与管理平台归并入两个webapp
mock框架模拟未完成的rest api :Swagger
引入Maven,确定服务模块边界,规范模块化
水平模块之间失去了边界,互相环形依赖,牵一发而动全身
https://www.processon.com/view/link/58578d96e4b0c1fa6c5cd4f5
- 树形依赖,代码上严禁基础模块向附加模块的依赖,如用户模块依赖分销模块
- 面向接口设计
拆分:
- 从业务逻辑上思考业务模型真正的依赖关系
- 是否依赖整个数据模型,即数据层依赖
- 如果只是依赖部分行为,则将被依赖的部分设计成接口,高层模块只依赖低层模块的接口
加入单元测试
使用spring-test的测试组件,主要是MockHttpServletRequest对象来测试rest-api接口,依赖注入来测试供其他业务模块调用的service接口。
消息队列解耦模块,异步处理支线流程
注意事项
- 先定义高层级对外接口及其测试代码,往下重构,避免遗漏,减少对外特性变化
- 重构数据库结构时,必须留下SQL脚本备份,严禁直接使用图形化界面修改本地数据表就算完成任务
- 代码审查