indexchen的专栏

勿在浮沙筑高台

从AOP到AOD,AOA

先解释名词,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秒,也让国人能在软件方法论方面留下一笔。:-)

 

 

阅读更多
个人分类: 方法论
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭