配置化进化及利与弊

2,164 阅读3分钟

什么是配置化:

    配置化是将一些业务逻辑抽象成特定的数据结构,通过对这些数据结构的解析和执行来达到其目的;

为什么要配置化:

    在构建系统时经常会遇到各种各样的处理流程,将流程进行分解获得一个个的单元,将这些单元进行组合可以形成系统所需要的功能;
    在这种场景下,将各个单元进行配置化处理,可以灵活的进行组合来适应实际的需要;同时能大大提供系统的扩展性和成本效率;
    比如:

          表单是比较常见的页面,不用场景下需要展示不同的表单内容,同时表单展示及内容也是各有不同,同时表单中的信息的校验规则,特定信息处理逻辑,文案等都有差异;这时采用配置化的方式就很合适了;

配置化的演变:

    配置化和业务的发展密切相关,业务的发展并不是一层不变的,一般都会经历 初创,成长,成熟,消亡;

在初创期:

      业务处于探索期,需要进行快速迭代,这时候谁也不知道业务会发展成什么样子,其商业模式,业务流程等等都不知道,因此系统实现往往是比较野蛮的,但也是最高效的;其代码逻辑采用if else或者采用简单的工厂模式来进行实现;

在成长期:

      业务有了方向,其流程开始标准化,这时候可以考虑到其大部分的使用场景,因此在设计时有一定的知识储备,设计时可以进行综合和比较全面的考虑,这时可以通过将一些逻辑进行抽象成特定的数据结构,通过对数据结构的解析和执行来实现需求;其存储可以硬编码在文件中或数据库中,其生成方式可以人工编写或excel生成或web操作生成;推荐采用数据库方式,在大多数场景下变更配置对于现有流程会有兼容性问题,如果采用版本控制方式就可以很好解决;

成熟期:

    其和成长期很接近了,基本上不会有太大的改动,只是在原有的基础上面进行优化和叠加;

配置化优势:

     提高业务响应效率;提高系统稳定性;降低成本;
配置化弊端:
     配置化的基础是抽象,将各种操作处理逻辑用特定结构进行表达,增加了系统的抽象程度,       提高了理解成本;
     配置化实现成本较高;
     业务的发展总会出现一些异常极端场景,配置化如果需要对其进行兼容会导致过于复杂,所以配置化也有其局限性,需要根据业务需求来进行使用;同时配置化是抽象的,遇到业务变动较大时其改动和影响也是较大的;
配置化展望:
    计划赶不上变化,采用配置化方式也是如此,其也只能适应特定时期的业务场景,配置化和特殊化结合是无法避免的,在特殊化过多时就是时候考虑将其配置化了;