AOP---面向方面编程
2007-10-30 09:56
281 查看
先解释名词,AOP是面向方面编程(Aspect-Oriented Programming),AOD是面向方面设计(Aspect-Oriented Design),AOA是面向方面分析(Aspect-Oriented Analysis)。
AOP可以认为是面向对象编程的一种补充,如果面向对象是对系统的纵向划分,AOP则可以看成是对系统的横向划分。AOP关注的是系统中全部类或大部分类中都涉及的某一个方面的问题,如安全、日志、事务等。在每个类中处理这种问题会造成大量的重复代码散布在系统中,维护这样的系统成本相当高。
目前AOP对此问题已有了比较成熟的解决方法,可用的工具有Spring AOP、AspectWerkz、JBoss4。与面向对象的发展过程相似,也是先有OOP,然后是OOD,再到OOA。 现在在设计和分析中对AOP还没有形成一套业界所通用的建模方法,可以从分析映射到设计再到代码。
从面向对象方法体系的发展看,面向方面方法在分析和设计中也应该是形成一套通用的建模方法和建模语言。建模方法应和现有的OO的方法相结合,在现有OO方法中增加面向方面的内容,当然也不排除出现和现有OO方法比较松耦合的方法,二者可结合解决OO和面向方面的问题。 至于建模语言,一是可以在UML中增加面向方面的语义,另一个方案就是设计出新的关于面向方面的建模语言AOML(Aspect-Oriented Model Language),可以建立在XML的语法基础之上,也不用全部从头开始。
从事这种工作需要大量实践并进行抽象、提炼,希望国人能发扬解决庞加莱猜想的精神,临门一脚能抢先0。1秒,也让国人能在软件方法论方面留下一笔。:-)
AOP可以认为是面向对象编程的一种补充,如果面向对象是对系统的纵向划分,AOP则可以看成是对系统的横向划分。AOP关注的是系统中全部类或大部分类中都涉及的某一个方面的问题,如安全、日志、事务等。在每个类中处理这种问题会造成大量的重复代码散布在系统中,维护这样的系统成本相当高。
目前AOP对此问题已有了比较成熟的解决方法,可用的工具有Spring AOP、AspectWerkz、JBoss4。与面向对象的发展过程相似,也是先有OOP,然后是OOD,再到OOA。 现在在设计和分析中对AOP还没有形成一套业界所通用的建模方法,可以从分析映射到设计再到代码。
从面向对象方法体系的发展看,面向方面方法在分析和设计中也应该是形成一套通用的建模方法和建模语言。建模方法应和现有的OO的方法相结合,在现有OO方法中增加面向方面的内容,当然也不排除出现和现有OO方法比较松耦合的方法,二者可结合解决OO和面向方面的问题。 至于建模语言,一是可以在UML中增加面向方面的语义,另一个方案就是设计出新的关于面向方面的建模语言AOML(Aspect-Oriented Model Language),可以建立在XML的语法基础之上,也不用全部从头开始。
从事这种工作需要大量实践并进行抽象、提炼,希望国人能发扬解决庞加莱猜想的精神,临门一脚能抢先0。1秒,也让国人能在软件方法论方面留下一笔。:-)
相关文章推荐
- AOP:通过面向方面编程提高代码的封装和复用性
- AOP:通过面向方面编程提高代码的封装和复用性
- Spring AOP: Spring之面向方面编程
- 第五章 面向方面编程___AOP入门
- 自行打造实现控制反转容器(IOC)与面向方面编程(AOP)的轻量级Framework(2)
- 自行打造实现控制反转容器(IOC)与面向方面编程(AOP)的轻量级Framework(3)
- AOP面向方面编程
- Spring使用 --- 基本概念(二):AOP,面向方面编程
- 代理一:代理、AOP面向方面编程、动态代理、创建动态代理、InvocationHandler运行原理
- 第五章 面向方面编程___AOP入门
- Spring框架中AOP(面向方面)编程总结
- 面向对象编程(OOP)、面向组件编程(COP)、面向方面编程(AOP)和面向服务编程(SOP)
- AOP(Aspect Oriented Programming) 面向方面编程
- 入门二:AOP面向方面编程使用
- 自行打造实现控制反转容器(IOC)与面向方面编程(AOP)的轻量级Framework(1)
- 自行打造实现控制反转容器(IOC)与面向方面编程(AOP)的轻量级Framework(4)
- AOP 面向方面编程
- Atitit 面向对象编程(OOP)、面向组件编程(COP)、面向方面编程(AOP)和面向服务编程(SOP)的区别和联系
- 面向对象编程(OOP)、面向组件编程(COP)、面向方面编程(AOP)和面向服务编程(SOP)
- 面向对象编程(OOP)、面向组件编程(COP)、面向方面编程(AOP)和面向服务编程(SOP)