2.2 组件设计:无配置文件
组件不带任何配置文件,组件所依赖的各种库也不带任何配置文件。
这个原则极其重要!!!
如果一个组件,自己定义了配置文件,无论是XML,Properties,还是其他的文件类型,内部的格式都是组件设计者自己定义的。我们假设一个中等的项目,会使用10个组件,那么就会有10个配置文件。这些配置文件的格式各不相同,那么我们的软件安装手册、维护手册就要仔细描述这10个配置文件的结构,我们的实施维护人员就要学会如何配置这10个文件。如果项目再大,需要集成50个组件,那就需要50个配置文件,对手册编写人员和实施维护人员,这是怎样的灾难啊!
归纳起来,如果一个组件自己带配置文件,带来的不良影响主要有:
(1)不同组件的配置文件格式不统一,软件开发人员、手册编写人员、实施人员、维护人员等要学习不同格式、不同结构、不同的配置方式,学习的成本大大增加;
(2)同一个配置(比如数据库连接串,IP地址等),由于各个组件的配置方式不同,则实施人员要在多个配置文件中进行配置,既增加了工作量,又难于保证数据始终一致;
(3)如果后续发现更好的组件,要用其替换原有的组件,则新的组件的配置文件与原组件的配置文件不同,则即使这两个组件的功能一致,我们也必须更新软件的实施维护手册,相关人员又要重新学习。
因此,基于配置文件的组件,是非常不容易被集成的。一个应用软件,无论其使用多少个组件,应该最多只有一个配置文件,用于集中配置这个应用的所有参数。而每个组件,都是以接口或者类的方式提供配置方法,应用软件集中读取所有配置信息,然后通过组件的配置方法,将配置参数设置到组件上。这样,将从根本上解决组件集成过程中由组件配置文件引起的各种问题。