jst连接器的引入和AOP代码框架的自动生成使面向方面的软件过程从高层架构到底层设计变得更加完备。在这一章中,达到了以下的目的:使用连接器的辅助来进行高层架构设计,在面向方面的软件开发过程中实现了设计层次的关注点分离,当然这里的假设是在前期,需求已经被清楚地定义和说明。连接器的引入对原有的UML几乎没有任何影响,设计人员所熟悉的工作环境不会有任何大的改变。Aspect元素和核心元素完全分离,它们之间使用与实现语言无关的连接器来关联,围绕连接器,可以支持任何流行的AOP实现技术,并且为将来出现的AOP技术预留接口。
jst连接器(白色)
由于只有连接器是横切的元素,因此Aspect元素和核心元素的复用性更高。这样的封装让所有属于一个关注点的类自动的进行了逻辑分组。避免了图形纠缠,提高了设计模型的可读性。为了支持底层架构设计,实现代码框架生成工具来提高生产力,并且避免映射模型到代码时引入的错误。由于连接器的引入是以标准UML为基础的,因此可以将其,视作为在现有CASE工具中促进AOP建模的一种简单而又有效的途径。连接器和代码框架生成功能的组合将使AOP在软件开发中的复用性和使用效率大大提高。
jst连接器必须包括以下的信息:Pointcut枚举信息:较为简单的程序控制流程中的执行点,即核心元素和Aspect关系的中心;Aspect优先级信息:以相对的方式,标示多个Aspect之间的优先级关系;Pointcut通配符:比较复杂的Pointcut信息,可以由设计人员自行编写或者由建模工具自动提取。
jst连接器的引入就是为了分别通过面向方面建模以及通过自动产生代码,在高层架构和底层设计上,实现横切关注点的分离。通常,横切于架构的设计工件很难用一个组件或者包来封装,而是会分布在多个组件或者包中,这就会导致设计难以理解,难以维护。