动态代理方式实现AOP
2011-01-01 23:56
204 查看
摘要:面向对象的思想强调"一切皆是对象",在面向对象的程序中我们使用真实概念的模型思考问题,使得整个软件系统开发可以像搭建房屋一样有条不紊。然而面向对象也并非完美无缺的,它更注重于对象层次结构方面的东西,对于如何更好的管理对象行为内部结构,还存在着些许不足。那么我们如何使这个问题的得到更完美的解决呢?答案就是AOP。
主要内容:
AOP简述
利用动态代理实现AOP
总结
一、AOP简述
AOP的概念早在上个世纪九十年代初就已经出现了,当时的研究人员通过对面向对象思想局限性的分析研究出了一种新的编程思想来帮助开发者减少代码重复提高开发效率,那就是AOP,Aspect-Oriented Programming。AOP是OOP的补充,是GOF的延续。我们知道设计模式是对于面向对象设计中经验的总结,它孜孜不断追求的就是调用者与被调用者之间的解耦。有了设计模式我们可以更有效的利用面向对象的特性,使得整个软件设计更加灵活、优雅。但是设计模式是基于面向对象的思想而形成的,更多的时候关注的是对象层次的东西,在解决对象行为内部问题方面却有些不足。AOP的出现恰恰就是对面向对象思想做出了完美的补充。
代码
运行效果
三、总结:
上面简单的介绍了如何用动态代理的方式实现AOP,主要是帮助大家理解动态代理AOP的大致思路。在实际开发中我们可能更多时候会选择一些AOP的工具(例如Castle中的Aspect#、Spring AOP、AspectDNG等),这些内容(包括静态织入方式实现AOP)我们今后有机会再一块学习。
本作品采用知识共享署名 2.5 中国大陆许可协议进行许可,欢迎转载,演绎或用于商业目的。但转载请注明来自崔江涛(KenshinCui),并包含相关链接。
主要内容:
AOP简述
利用动态代理实现AOP
总结
一、AOP简述
AOP的概念早在上个世纪九十年代初就已经出现了,当时的研究人员通过对面向对象思想局限性的分析研究出了一种新的编程思想来帮助开发者减少代码重复提高开发效率,那就是AOP,Aspect-Oriented Programming。AOP是OOP的补充,是GOF的延续。我们知道设计模式是对于面向对象设计中经验的总结,它孜孜不断追求的就是调用者与被调用者之间的解耦。有了设计模式我们可以更有效的利用面向对象的特性,使得整个软件设计更加灵活、优雅。但是设计模式是基于面向对象的思想而形成的,更多的时候关注的是对象层次的东西,在解决对象行为内部问题方面却有些不足。AOP的出现恰恰就是对面向对象思想做出了完美的补充。代码
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace DanymicProxy { class Program { static void Main(string[] args) { Proxy<MyBusinessLogic>.CreateProxy(new LogInterceptor()).ShowMessage("Hello World!"); Proxy<MyBusinessLogic>.CreateProxy(new LogInterceptor()).Calculate(); } } }
运行效果
三、总结:
上面简单的介绍了如何用动态代理的方式实现AOP,主要是帮助大家理解动态代理AOP的大致思路。在实际开发中我们可能更多时候会选择一些AOP的工具(例如Castle中的Aspect#、Spring AOP、AspectDNG等),这些内容(包括静态织入方式实现AOP)我们今后有机会再一块学习。本作品采用知识共享署名 2.5 中国大陆许可协议进行许可,欢迎转载,演绎或用于商业目的。但转载请注明来自崔江涛(KenshinCui),并包含相关链接。
相关文章推荐
- 动态代理方式实现AOP
- Spring AOP动态代理原理与实现方式
- 动态代理方式实现AOP
- 动态代理方式实现AOP (emit)
- Spring AOP 代理实现的两种方式: JDK动态代理 和 Cglib框架动态代理
- Spring AOP动态代理原理与实现方式
- Spring中AOP实现的两种方式之JDK和cglib的动态代理
- Spring系列之 (十一):AOP实现方式:动态代理的两个方式(JDK和Cglib)
- Spring中AOP实现的两种方式之JDK和cglib的动态代理
- Spring中Aop的实现方式之一(基于动态代理)
- Spring AOP源码解析——AOP动态代理原理和实现方式
- Spring AOP动态代理原理与实现方式
- Spring AOP实现方式 - JDK动态代理和CGLIB动态代理
- Spring AOP动态代理原理与实现方式
- spring实现AOP的两种方式以及实现动态代理方式
- spring实现AOP的两种方式以及实现动态代理方式
- 动态代理方式实现AOP
- spring实现AOP的两种方式以及实现动态代理方式
- Spring AOP动态代理原理与实现方式
- 让动态生成的类成为目标类的代理-实现AOP功能的封装与配置