模式10: External Configuration

外部配置可以让一个模块运行于不同的环境中。如下图所示,XML文件被Client类用来配置client.jar模块。可以注意到,负责初始化client.jar的配置信息与表示模块行为的Client类是分隔开的。 配置一个模块去它的适应运行环境有多种方法。配置文件可以放在模块里,也可以单独放在另一个模块,或者两种方法同时使用。第一种方法的优点是在默认环境使用时变得简单,缺点是默认配置很可能在其他环境不能使用。第二种方法的优点是模块不再与环境耦合,从而可以在不同环境重用,而缺点是每个新环境都需要重写配置文件,而且没有缺省的配置。