技术开发 频道

配置驱动的开发

    图 2 说明了 图 1 所示的简单参数的总体影响。

图 2. 依赖性过多

    真是让人吃惊,像字符串长度这么简单的东西竟然不只在四个位置上重复,而是在十个不同的位置出现。字符串长度参数只是一个例子;许多类型的业务规则对于典型的应用程序都有类似的影响。一些规则是几乎任何应用程序中都有的,比如字符串长度和数字的最小/最大值。其他规则专门用来满足特定应用程序的需要。应用程序是否使用签出/签入机制保持一致性?关于信息的这些规则是否从客户机和服务器获得?所有这些因素合在一起,即使是最简单的代码修改也很容易导致大混乱。

    传统的解决方案

    信息重复不是一个新问题,而且已经有许多工具和技术用来防止这个问题。在本节中,我将讨论对信息重复最常用的一些解决方案。

    开发过程

    一些开发团队将冗余信息修改纳入严格的开发过程中,以此解决信息重复问题。这个解决方案很繁琐,因为它需要监督和复查,但它是有效的。

    设计良好的代码

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

    模型驱动的工具

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

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

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

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

0
相关文章