AOP
文章平均质量分 81
GJchina
加油
展开
-
Aspect C++语言
AOP的核心思想是对横切关注点进行模块化。Aspect C++是针对C++的AOP扩展。 join point:运行aspects的代码部分,可以使类、结构、联合、对象、控制流。 pointcut:是join point的集合。用来定义在什么地方插入advice代码,进行横向切入。类似于C++中的变量,只不过带个括号。定义格式如下:pointcut 变量名() = 标志符(原创 2010-04-07 21:36:00 · 5108 阅读 · 6 评论 -
《AspectC++ Language Reference》Chapter 2 Basic Concepts
这是我对pure system的《AspectC++ Language Reference》第二章基本概念的翻译。蓝色表示重点概念,黄色是我不太清楚或我的理解。不知道理解的是否正确。希望csdn上有同学可以一起探讨第二章 基本概念2.1 Pointcuts在AspectC++中,通过Aspects以模块化的方法实现横切点。基于这一点,AspectC++语言中最重要的元素就是poin翻译 2010-05-03 11:30:00 · 2122 阅读 · 2 评论 -
《AspectC++ Language Reference》chapter 3: Match Expressions & chapter 4: Predefined Pointcut Functions
第三章 匹配表达式匹配表达式用来描述Aspect C++程序中,静态的已知程序实体。可以用来匹配函数,也可以用来匹配类型。这里class也被视为一种类型。对函数匹配而言,与匹配表达式被分解为:函数类型样式,作用域样式,以及名字样式。例子:函数匹配表达式的类型、作用域、和名字部分"const % Puma::...::parse_% (Token *)"上例中的匹配表达式描述了在翻译 2010-05-04 18:01:00 · 1252 阅读 · 0 评论 -
《AspectC++ Language Reference》Chapter 5-7
第五章 Slices本章定义slice声明的语法和语义。下一章介绍为什么advice可以利用slice引入代码。目前,Aspect C++中只定义了类slice(class slices)5.1 class slice声明class slice可以在任何类域或名字空间中声明。只能定义一次,但可以有多次前向声明。如果class slice已经在某个作用域中声明过,然后又重新声明或定义的话翻译 2010-05-06 21:13:00 · 1294 阅读 · 0 评论 -
《AspectC++ Language Reference》Chapter 8
第八章 Advice顺序8.1 Aspect的优先级Aspect C++为定义aspect的优先级提供了非常弹性化的机制。如果有多个aspect影响同一个join point,则由优先级决定advice代码执行的顺序。Aspect C++中,优先级是join point的一个属性。也就是说,两个aspect的优先级关系在系统不同的部分会有区别。编译器检查下面的条件,以决定aspect的优先翻译 2010-05-06 22:37:00 · 1681 阅读 · 2 评论