图 3 显示典型的配置驱动构建过程。

图 3. 配置驱动构建过程示例

  所需的工具

  下面的工具对于配置驱动的开发很重要:

  编辑工具

  在大多数情况下,简单的文本编辑器对于编辑 XML 文件已经足够了。的 XML 编辑器会在修改文件时检验语法的有效性,并简化 XML 标记的编辑。

  读取工具

  为了从 XML 文件中获得信息,需要利用某种工具将 XML 文件直接装载到应用程序中。例如,可以使用 Java 库 Betwixt 将 XML 配置的上下文填充到 Java 文件。

  用来生成工件的工具

  在读取配置文件之后,下一个逻辑步骤是让产品的其他部分利用这些配置信息。这时有几种方法。第一种是将配置文件嵌入软件本身,这样可以在运行时读取它们。另一个方式是使用工具(比如 Apache Commons 的 Java Velocity 引擎)生成代码和文档。

  规则

  大多数应用程序开发人员熟悉以下规则,但是与 Java 开发或极限编程中的做法相比,在配置驱动的开发中它们的应用方式有所不同。

  1. 保持简单

  配置文件必须容易理解和改进。尽管这似乎是理所当然的,但是有经验的 XML 用户常常使用不利于 CDD 方式的高级特性,比如那些使 XML 难以读取和理解的语法。

  2. 根据需要进行改进

  预定义的 XML 布局不会满足每个开发人员的需要。对这个问题的解决方案是,让 XML 布局能够适应需求。根据领域或软件体系结构的不同,类或字段定义中使用的 XML 属性有很大的差异。请记住,改进应该避免用户破坏 “保持简单” 规则。在上面的示例中,很容易发现许多配置参数在几乎所有其他产品中都没有用。市场上还没有工具能够简化它们的实现。

  3. 尽早且经常进行验证

  常识指出,在开发过程中越早发现错误,越容易解决。根据这条原则,尽可能早些对配置进行详尽验证是有意义的。例如,可以使用 XSD 或 DTD 文件验证配置文件的 XML 结构。如果需要应用定制的验证规则,那么要毫不犹豫地实现自己的验证工具。尽管编写这些工具花费的时间并不是花费在终产品的时间,但是这种投资是值得的。