• 软件测试技术
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘

字号: | 推荐给好友 上一篇 | 下一篇

面向方面的编程:它的好处是什么?

发布: 2008-6-18 11:18 | 作者: 不详 | 来源: developerworks | 查看: 45次 | 进入软件测试论坛讨论

领测软件测试网

1E9]M {%Rr.P]

*HI*bgX软件测试技术门户|0z&Z U b1k
图1:从形状程序的输入软件测试技术门户W7a+|r$}@2G7EE/?*c;VsS

kFGSfI l如果我们想看见程序调用的真实顺序,我们有两个选择。第一种方法是,我们可以在每一个程序的开始插入编码,那样可以以程序和类的名字打印一个信息,并且事实上程序已经被输入。我们需要为每一个程序做上述的过程。第二种方法是,我们要创建一个方面来做完全一样的事情。用这种方法,我们不需要改变应用程序的任何编码。

!^j${Fd y 软件测试技术门户'?d,d:\*g.?

跟踪实例包含使用方面跟踪解决方法的几个版本。我们来看最终的版本。其他版本的讨论请见AspectJ Programming Guide中的讨论。

"b*M#Fu8`g] 软件测试技术门户*hoS/VM ^oA3E

一个稳固的跟踪机制的解决方法包含两个文件。第一个是一个抽象的方面。一个抽象的类的一些编码被留给了编程人员,编程人员使用它在一个导出的类中执行,或者在一个导出的方面中执行。这个抽象的方面,叫做Trace,有几种标准程序来打印关于输入和退出一个程序,或构造方法的信息以及格式化输出的结果。如果我们没有使用方面,这些程序将在一个帮助者类中,你可以用它来输出跟踪信息。Trace同时允许编程人员通过设置一个叫做TRACELEVEL的性质,来设置跟踪的类型。这里有三个级别:没有信息,没有缩进的信息,以及被缩进来表达被嵌套的调用的信息。软件测试技术门户MERw3JAQ,d

uT+nIi7K;jU&?跟踪定义了三个切入点;其中的两个是具体的,一个是抽象的,正如图2所示。抽象的切入点是myClass,它必须通过可以扩展Trace的方面来提供。切入点的目的是为包含将被建议的连接点的对象选择类。这个让开发人员决定哪些类将被包括在跟踪输出结果中。软件测试技术门户Vt_ Yi r;D$b^2Vq.o

C)lB1xBf.PQ'a(P软件测试技术门户|c"L$eWA;mZ
图2: 跟踪方面中的切入点软件测试技术门户am's8I})Mn^

R0E OgR@HmyConstructor切入点在任何构造方法的开始,它被myClass选择为类中的一个对象选择连接点。连接点是实际的主体。myMethod与myConstructor相似,但它在一个被选择的类中选择任何程序的执行。注释同样省略了toString程序的执行,因为它被用在了建议中。软件测试技术门户a1X G'sO+K6On

软件测试技术门户xrh.cmu i4|