WEB开发网
开发学院软件开发Java 追求代码质量: 用 AOP 进行防御性编程 阅读

追求代码质量: 用 AOP 进行防御性编程

 2009-11-19 00:00:00 来源:WEB开发网   
核心提示: 尽管 Nice 支持 DBC,但它与 Java™ 语言完全不同,追求代码质量: 用 AOP 进行防御性编程(5),因而很难将其用于开发,幸运的是,要先下载 AspectJ,具体地说,很多针对 Java 语言的库也都为 DBC 提供了方便,每个库都有其优点和缺点

尽管 Nice 支持 DBC,但它与 Java™ 语言完全不同,因而很难将其用于开发。幸运的是,很多针对 Java 语言的库也都为 DBC 提供了方便。每个库都有其优点和缺点,每个库在 DBC 内针对 Java 语言进行构建的方法也不同;但最近的一些新特性大都利用了 AOP 来更多地将 DBC 关注点包括进来,这些关注点基本上就相当于方法的包装器。

前置条件在包装过的方法执行前击发,后置条件在该方法完成后击发。使用 AOP 构建 DBC 结构的一个好处(请不要同该语言本身相混淆!)是:可以在不需要 DBC 关注点的环境中将这些结构关掉(就像断言能被关掉一样)。以横切的方式对待安全性关注点的真正妙处是:可以有效地重用 这些关注点。众所周知,重用是面向对象编程的一个基本原则。AOP 如此完美地补充了 OOP 难道不是一件极好的事情吗?

结合了 OVal 的 AOP

OVal 是一个通用的验证框架,它通过 AOP 支持简单的 DBC 结构并明确地允许:

为类字段和方法返回值指定约束条件

为结构参数指定约束条件

为方法参数指定约束条件

此外,OVal 还带来大量预定义的约束条件,这让创建新条件变得相当容易。

由于 OVal 使用 AspectJ 的 AOP 实现来为 DBC 概念定义建议,所以必须将 AspectJ 并入一个使用 OVal 的项目中。对于不熟悉 AOP 和 AspectJ 的人们来说,好消息是这不难实现,且使用 OVal (甚至是创建新的约束条件)并不需要真正对方面进行编码,只需编写一个简单的自引导程序即可,该程序会使 OVal 所附带的默认方面植入您的代码中。

在创建这个自引导程序方面前,要先下载 AspectJ。具体地说,您需要将 aspectjtools 和 aspectjrt JAR 文件并入您的构建中来编译所需的自引导程序方面并将其编入您的代码中。

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:追求 代码 质量

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接