本文中没有讨论横切关注点,我重新实现的多数解决方案照目前来看都是经过很好模块化的。
位于每个AOP工具核心的是连接点模型,它提供了一种机制,可以识别出在哪里发生了横切。
通过划分Aspect代码,横切关系变得容易处理。
概念上,这种结构可以以横切的方式在程序元素上附加注释。
IDE支持的另外一个主要职责是让系统的横切结构易于导航和理解。
静态横切的语法与动态横切很不相同。
创建静态横切的语法和动态横切有很大的不同,即没有切入点和通知。
这使它特别容易采用,而且对于一些粗粒度的横切很有用。
静态横切和动态横切的区别在于它不修改一个给定对象的执行行为。
不过,它可帮助您理解并获得对应用程序的横切关注点的信任。
动态横切通常用于帮助向对象层次中的各种方法添加日志记录或身份认证。
建设中的城市轻轨和规划中的两条轻轨线路,构架起一个四通八达、纵横交错的立体交通网络。
可以看出,对于将横切元素的名字分解为多个部分,使用注释很方便。
景观生态学作为一门新兴的交叉性学科,在景观格局变化及其过程的研究方面具有很大的优势。
除了排除元素签名的纠结外,还可以使用注释来表达与代码的横切关注相关的任何数据。
下面将开始介绍手工编写横切问题与使用AOP工具进行处理的优劣对比。
可以利用AOP的横切机制对所有受影响的元素进行一次注释。
由于这种注释的横切本性,用AOP提供它们是很好的一种方法。
相反,它允许通过引入附加的方法字段和属性来修改对象的结构。
我们已经看到了AJDT如何通过增加编辑器标记和装饰advice元素来显示AspectJ的crosscutting特征。
切面是结合切入点和通知成一个模块方案,解决特殊的横切问题。
如果您家的天花板上没有纵横交错的管线,而房间又不高,大可不必做大面积的吊顶。
一个更优雅且根本上更灵活的解决方案就是使用静态横切来对预期对象添加行为。
严格地讲,使用可视化工具检查应用程序的横切结构不是一种测试技术。
因此,横切关注点(如日志、事务和安全)不会再干扰应用程序代码。
使用静态横切,架构师和设计者能用一种真正面向对象的方法有效地建立复杂系统的模型。
对于粗粒度的横切和辅助性方面,只需要很少的切入点。
引用更灵活的文档方法也具有横切方法(crosscuttingmethodologies)的优点。