摘要:
在我之前的文章里介绍了用RealProxy来实现AOP的方法拦截,由于Realproxy的效率较低,且被拦截的对象必须继承自ContextBoundObject,所以其有自身的局限性.为了更高效和在实际项目具有更好的实用性,我用装饰器模式,以面向接口的方式设计了一个简单的AOP框架,并在我的项目里广泛地应用,取得不错的实践效果.
AOP框架只包含三个类:
Decorate,用来对原来对象的方法,事件进行拦截.
DecorateFactory,用来构造拦截器的对象链的工厂
DecoratorAttribute,用来对被拦截对象的类的施加拦截器标识. 阅读全文
摘要:
在许多的实现AOP框架的技术中,不管是静态织入还是动态织入,关键点在于拦截方法,并在方法中加入预处理和后处理。而实现方法的拦截的一个简单办法就是把类的实例委托给类的真实代理(RealProxy).这样以来,方法的调用都会被转换成消息(IMessage),同时该消息作为参数被送到真实代理的 Invoke方法。所以我们相应地改写Invoke方法,加入预处理和后处理也就OK了。 阅读全文