设计良好的代码

  设计良好的代码再加上对常量的重用,可以减轻代码重复问题。当应用程序的所有部分都用同一种语言编写时,代码驱动解决方案的效果好。

  模型驱动的工具

  模型驱动的开发的概念是以配置的形式读取应用程序模型。模型驱动的大优点是,它们使与对象及其关系相关的繁琐任务自动化。下面是一些流行的模型驱动开发工具:

  ●Eclipse Modeling Framework(EMF):它存储类的布局和字段。它为应用程序生成 Java 类、网络接口,甚至还包括数据库映射。通过生成对象,EMF 使编写常用方法的繁琐部分自动化,比如获得器、设置器、相等、复制、克隆、串行化等等。EMF 使用可以存储许多对象定义的配置文件。在多用户环境中,合并这些文件可能导致一些问题。EMF 只能处理应用程序的对象、它们的关系和方法。对于处理定制的业务规则,它没有提供任何帮助。

  ●UML2:它通过类关系、字段和逻辑的图表描述和说明应用程序。UML 的优点是它与语言无关。在完成逻辑设计之后,从理论上说,可以用任何语言生成对象。

  ●Ruby on Rails:它从数据库模式中提取模型的配置。然后生成处理业务逻辑、基于 Web 的用户界面和单元测试所需的构架。生产效率的提高主要是由于数据库模式的修改会在代码中传播。

  CDD 是如何工作的

  我已经描述了配置驱动开发的基础。为了更好地理解它是如何工作的,我们来考虑一个来自真实世界的示例。在本节中,我将描述我的团队在开发 Rational Portfolio Manager 中采用的配置驱动开发解决方案。

  在 XML 文件中存储配置

  在配置驱动的开发中,开发人员主要在 XML 文件中进行所有修改。与应用程序相关的所有其他文件都从这些文件中读取它们的配置,要么是在运行时读取配置,要么是在构建时生成选择的组件。在 Rational Portfolio Manager 项目中,我们在配置文件中存储以下组件和信息:

  应用程序对象

  ●它们的关系

  ●它们的文档

  ●它们的验证规则

  ●它们在签入/签出机制中的行为

  ●它们在应用程序安全框架中的限制

  ●它们的数据库映射

  ●它们在可视布局中的位置

  错误代码

  ●它们的惟一标识符

  ●它们的文档

  ●它们在运行时生成的消息

  ●它们使用的参数

  Web 服务接口定义

  ●暴露的方法

  ●文档

  ●它们使用验证规则时用到的参数

  ●它们在应用程序安全框架中的限制