AspectNet功能介绍(二)

AspectNet是一个基于.Net Framework的方面编制器,它同时能实现静态编织和动态编织,是bobmazelin个人的研究性项目,现仍然处于开发阶段,有关AOP概念的介绍请参考:www.aspectJ.org以及IBM的专题.

在上一篇中我介绍了AspectNet的基本结构,从这篇开始我会具体介绍AspectNet在静态编织方面的功能.这次我给大家介绍call和execution两个pointcut.

在上篇中我提过pointcut捕获了需要织入的代码点,在AspectNet中存在着多种捕获这种代码点的方式,call和execution是其中比较基础的两种.

1.call pointcut: 捕获了调用某些方法的代码点;

2.execution pointcut:捕获了执行某些方法的代码点.

它们非常相似,我在下文会通过一个小例子来展示它们之间的区别.

在给出例子之前,我先说明一下它们的方法模式:

修饰符 返回值类型 [方法类型.]方法名称(参数类型列表)

1.修饰符是public, protected,private,sealed,static等,它们支持!以及并操作(比如: !private static);

2.返回值类型就是方法的返回值类型,它支持void,*, &&, ||, !,+操作符.void就是没有返回值;*是通配符,单独的*代表任意类型,也可以部分通配,比如:System.*,Customer*.Order*等等;&&, ||, !可以组合不同的类型;+是子类操作符,代表包括其所有子类,比如:System.Object+,就代表了所有的类;

3.方法类型描述了方法声明了类型,它和返回值类型的模式类似;注:在AspectNet中它不能被忽略;

4.方法名称只支持*和new操作符,new代表类的构造函数;

5.参数类型列表:通过,来分割参数类型,它支持..操作符来表示任意多了参数,比如:System.Int,..,string就表述方法的第一个参数和最后一个参数的类型,中间不限制参数的个数和类型.

注:上面对AspectNet的方法模式的描述并不全面.

理论讲完了,来点实际的,由于还没有到参数的传递阶段,我选择了最为简单的log为实例,等到介绍参数时再给出业务相对复杂的例子,这个例子主要说明两个问题,第一: 通过+来捕获子类代码点;第二,call和execution的区别.

时间: 2024-08-31 16:17:33

AspectNet功能介绍(二)的相关文章

AspectNet功能介绍(一)

AspectNet是一个基于.Net Framework的方面编制器,它同时能实现静态编织和动态编织,是bobmazelin个人的研究性项目,现仍然处于开发阶段,有关AOP概念的介绍请参考:www.aspectJ.org以及IBM的专题. 这是AspectNet功能介绍的第一篇,我主要介绍AspectNet在静态编织方面的基本结构. AspectNet在很大程度上参考了aspectJ,它通过MSIL代码来实现静态编织,由此AspectNet不需要源代码,同时它也可以混合编织C#和VB.Net(理

.Net Framework 4.0 功能介绍

.Net Framework 4.0 功能介绍 微软发布了 Visual Studio 2010 和 .NET Framework 4.0 的Beta 2测试版,微软往Framework 4.0里又塞了很多新东西,有的确实不错,不过有的还是感觉有点粗糙,还在实验阶段,实用性不强. 简单回顾下历史,.Net Framework 1.1其实是个试验品,.Net Framework真正走向成熟其实从2.0开始的,之后的Framework 3,Framework 3.5其实都是基于Framework 2

ASP.NET 2.0的页面缓存功能介绍

asp.net|缓存|页面 页面部分缓存是指输出缓存页面的某些部分,而不是缓存整个页面内容.实现页面部分缓存有两种机制:一种是将页面中需要缓存的部分置于用户控件(.ascx文件)中,并且为用户控件设置缓存功能(包含用户控件的ASP.NET页面可设置也可不设置缓存).这就是通常所说的"控件缓存".设置控件缓存的实质是对用户控件进行缓存配置.主要包括以下3种方法:一是使用@ OutputCache指令以声明方式为用户控件设置缓存功能,二是在代码隐藏文件中使用PartialCachingAt

搜狗输入法个性功能介绍

  搜狗输入法个性功能介绍?凭借出色的输入体验,搜狗拼音输入法可谓红遍网络,但凡使用拼音输入法的人,十有八九都听说过他的名字,从最初提出的互联网词库,精准的输入首选词让用户青睐有加,到后来个性化的皮肤.方便实用的特色功能则让用户爱不释手. 今天小编就向大家介绍搜狗输入法的一个即实用又个性的功能:"表情&符号"输入. 为什么说这个功能即实用又个性呢,因为它不仅涵盖了大量的特殊符号如标点.数字.数学.希腊符号等,还预置了几百款搜狗表情和字符画,在写文章做论文时能快速的输入需要的特殊

SAI的详细功能介绍

  sai的页面镇楼 适用人群:接触sai和板绘不到一个星期的小新人;连sai是干什么用的都不知道的小新人. 注: ①大概知道sai能怎么画画的人不用进了,看起来会很无聊的.(如果你觉得你连sai好多东西是干嘛的都不知道的话可以进)但是如果是小新人的话请仔细看,会有很大的帮助的. ②其实楼主也是自行摸索,很多如果楼主说的不正确或者是不完整的还请补充和修正,相反因为是楼主自行摸索的所以说有很多都是楼主自己的习惯和风格,这种地方还请大家不要盲目学习,希望大家能找到属于自己的风格. ③这只是一个功能介

XMOVE3.0手持终端——软件介绍(二):在2KB内存的单片机上实现的彩屏GUI控件库

一. 综述 嵌入式系统发展日新月异,安卓和ios已然战胜了当年雄霸天下的塞班,界面是我们特别看重的因素之一.不过你考虑过自己做一套系统,写一个界面库么?在单片机上自制系统,可以很好的锻炼编程能力和架构设计能力. 这些界面库都是在底层画点画线的驱动程序上实现的,基于我的XMOVE动作感应系统.基本具有硬件无关性.支持彩屏320*240的分辨率,由于考虑不同分辨率的开发过分复杂(想想看你需要计算每个点布局在哪个位置,这对安卓等系统都是大问题),因此我并没有太过完善的考虑过其他分辨率. 我已经写过一篇

启盟桶装水配送管理系统主要功能介绍

<<启盟桶装水配送管理系统>> 主要功能介绍如下:&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;一.语音自助订水功能 客户来电订水,系统可自动识别是哪位客户,并由电脑语音播报客户名字,如:张三你好,您上次订的是娃哈哈桶装水,数量是3桶--客户只要按1或2或3就可实现订水操作,全程由电脑语音引导客户进行订水,不需要人工干预,完成订水后,电脑上会自动显示需要配送的'配送列表',根据记录进行一一

1、solr包结构介绍,solrCore的安装配置,solr部署到Tomcat,多solrCore配置,配置中文分词器,界面功能介绍,Schema.xml的基本使用,数据导入

一.下载solr,下载地址是:http://archive.apache.org/dist/lucene/solr/,选择自己想要的solr的版本,本项目使用的版本是4.10.3 二.如果想下载Lucene,下载地址是: https://mirrors.tuna.tsinghua.edu.cn/apache/lucene/java/ 三.其中solr-4.10.3的包结构如下: bin solr的脚本 contrib solr为了增强自身的功能,所添加的扩展依赖包 dist Solr  buil

ITTC数据挖掘平台介绍(二) 微博数据挖掘和分析

上节我们介绍了系统的基本框架和特性,本文我们将通过该平台进行微博数据挖掘,并给出一些有意思的结果. 一.微博和微博数据 1.分析微博的意义        新浪的数据以每天海量的速度增长,它包含了四亿网民的对国家大事的看法,对生活的诉求,对环境和人的观点,以及人际间关系,是了解和分析复杂网络和社会行为的无比重要的资源.因此开发微博分析软件,是有非常重要的意义的. 2.加载微博分析独立组件     系统主要针对新浪微博,我们为微博开发了独立组件包,将其动态链接库dll文件拷贝到软件的插件目录下,系统