老用户系统改造升级前言
问题
- 业务庞杂
- package包混乱
- 老旧工具类不稳定
- 路由名规则混乱
- 代码耦合度过高,重复代码过多
- 大块代码过多
导致后期代码维护困难,比如bug定位,新功能迭代,新人上手困难等
拆分目的
- 重新规划package包
- 弃用老旧工具类
- 重新定义路由规则(尽可能兼容)
- 降低代码耦合度,避免重复代码,大块代码
- 明确注释
- 统一api调用工具
步骤
- 依照阿里巴巴工程分层进行package规划
- 定义新项目的含义(非登录注册相关的接口全部分拆重构到新服务
用户服务分拆为注册登录和用户中心两个服务。)拆分需要迁移的接口,及接口路由命名 - 通用功能的编写,全局异常拦截,通用过滤器,全局返回code,异常业务流程处理
-
业务编码
- 通用层处理,cache,rpc,三方api
- 老旧工具类替换
- common服务层抽离
- 单元测试和集成测试分包处理
新工程目录
- intTest为集成测试目录
- com.eqxiu.common为通用逻辑,此包不在Alibaba工程规范中,此处仅用于抽取公用配置
- user.config 全局异常拦截,跨域,等配置类
- user.constant 业务静态变量
- user.manager 通用业务层,比如缓存,rpc,三方api(微信服务,短信服务等)
- user.service 业务层
- user.util 无业务工具类(这里强调无业务,包含不调用远程服务,尽量只依赖基础类库)
- user.web 控制层(这里仅仅做参数校验)
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。