本思维导图总结交互规范知识点防腐层规范
树图思维导图提供 防腐层规范思维导图 在线思维导图免费制作,点击“编辑”按钮,可对 防腐层规范思维导图 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:71ddf09777312712c8cfd23109dd5a04
防腐层规范思维导图模板大纲
防腐层这个名词来源于系统集成的场景,⼀般是为了隔离两个系统之间的变化,防⽌⼀个系统的微⼩变化会影响到另外⼀个系统。还⼀个场景,两个系统使⽤的技术栈不⼀致,所以需要有⼀层代理来做兼容。
现有防腐层独⽴⼀个仓库是由历史原因促成的,⽬前业务扩⼤,⼈员扩展,项⽬组也开始拆分,这么多组和业务共⽤⼀个仓库的防腐层已经不合适了,各种问题已经显现,如下
1. 发版依赖过多慢慢慢,其他不相关模块也进⾏发版
2. 多端同时使⽤⼀个模块,兼容改动有风险,变更要同时上线
3. mock层,mock数据⼤家相互使⽤
各个业务⾃⼰维护防腐层,需要将server-adapter中使⽤代码移⼊⾃⼰业务中。
拆分基本⽅案(建议),各端跟进实际情况具体执⾏
1. 业务内多个模块(appkey)共⽤的防腐层,可以单独申请GIT仓库,把相关代码移⼊
2. 业务内单个模块(appkey)使⽤的防腐层,可以移动到⼯程内部,创建新的⼦moulde或者新的package
新功能请不要在原防腐层开发,请在业务内完成。
1.防腐层之间不能进⾏调⽤(M)
2.防腐层不允许有⼤量的业务逻辑,业务逻辑部分上提到调⽤端(M)
3.⼀个防腐层对应⼀个api(R)
4.各端调⽤其他端必须使⽤防腐层进⾏调⽤(R)
注意
防腐层modules只能引⼊本项⽬的api依赖,其他依赖不可引⼊。
防腐层职责:
异常降级:对RPC调⽤可能抛出的异常捕获,降级处理(输出异常⽇志、返回empty结果 / 抛出业务异常errorcode);
超时/重试:RPC接⼝的超时、重试 统⼀管理
数据校验:对返回值的正确性、边界值进⾏校验,进⾏数据的基本防御、业务代码边界值的解耦;
接⼝防腐:转换成Vo值对象,避免下游接⼝的修改 导致 ⾃⾝系统的修改;
防腐层⽬的
代码复⽤:RPC的调⽤场景 差异化⼩,proxy层复⽤,提⾼开发效率;
提供便利性:调⽤⽅可以直接调⽤,对RPC结果可以直接使⽤,不需要考虑NPE(结果为空)、RPC异常等情况;