台湾人很早就意识到了软件模块化、组件化和配置化的优势,因此他们在工控行业,起了一个有趣的名字Configuration,也叫工业组态。
如何进行软件的配置的灵活度和精细度,是软件设计中需要均衡的,往往是粒度太细,配置过于复杂,使用和维护人员难以驾驭,粒度太粗,很多东西有没法在配置中做到很精细的处理,这其实就是一个设计的度的问题。
但有一个指导性的原则,也是软件工程中的一个指导性原则是,模块间一定要送耦合,模块内部要高内聚,这样整个配置模型,就分成了两大部分,因为模块内部的配置信息,都是比较死的参数信息,我们就可以放到一个基础配置中,而模块间,因为涉及到了很多业务关系的流转,所以这里就变成了一个复杂的调度环境,需要将这个地方进行特殊的配置,比如增加流程引擎,增加细致的配置信息等等。
把握了这个度,我们就可以把模块内部的处理,统一放到通用生成工具中去生成,而复杂的业务流,开放到外部的流程引擎中。