什么地方的做法?
这个做法我熟悉,因为做过类似的项目。 首先说明一下我不是专业人士,仅仅从普通人的角度来谈一谈自己的看法。如有错误,欢迎指正。 这个做法的关键词是“非侵入”“易扩展” “可配置” 先说非侵入性,根据题意应该是项目启动时不改变现有系统架构(也就是不更改原有代码)的方式去增加功能并实现接口规范统一。那么要实现这一点就需要一个独立于业务系统的业务逻辑层,业务系统仍然是按照自己原有的流程进行,只是增加了业务规则。这样的好处是不影响业务系统的运行,能够实现“不改变现有系统架构”的目的;坏处也是非常明显的,新增的业务规则导致业务的处理可能不再透明,增加维护的难度,同时不同业务之间可能由于规则存在差异而导致维护成本上升。
再来说易扩展,既然需要在一个已经存在的系统中做文章,那么就不可避免的要考虑扩展性问题。如果业务量增大,业务规则增多,现有的解决方案可能已经不足以支撑业务的开展,这时候要么需要对业务系统本身进行重构来实现新的需求,要么是回到最初的非侵入性方案起点重新设计。
最后是可配置,既然是要实现接口的标准化以及文档的规范统一,那么显然各个业务系统之间的输入/输出就应该尽可能的可配置,由人来完成各种不可能出现统一的业务场景及规则判断显然既不靠谱也不现实,最好的方式就是让计算机来完成这种判断,通过设置参数的方式来满足不同的业务需求。