AOP
的本质和意义
本文章原文在《程序员2005精华本(下)》P66作者:徐昊
该文首先对AOP的概念进行了介绍。
其次介绍了AOP的动态特性。
有两个图比较经典:
下图是面向对象的动态特性原理的一个简化模型。
此处图贴不上,如果需要可以联系我!<!--[if mso & !supportInlineShapes & supportFields]><span lang=EN-US style='font-size:10.5pt;"Times New Roman";"font-size: 10.5pt;Times New Roman";"><!--[if gte vml 1]> <![if !mso]> <table cellpadding=0 cellspacing=0 width="100%"> <tr> <td><![endif]> <div> <div>Message</div> </div> <![if !mso]></td> </tr> </table> <![endif]> <![if !mso]> <table cellpadding=0 cellspacing=0 width="100%"> <tr> <td><![endif]> <div> <div>Message</div> </div> <![if !mso]></td> </tr> </table> <![endif]> <![if !mso]> <table cellpadding=0 cellspacing=0 width="100%"> <tr> <td><![endif]> <div> <div>aObject</div> </div> <![if !mso]></td> </tr> </table> <![endif]> <tr> <td><![endif]> <div> <div>aObject</div> </div> <![if !mso]></td> </tr> </table> <![endif]> <tr> <td><![endif]> <div> <div>aObject</div> </div> <![if !mso]></td> </tr> </table> <![endif]> <![endif]--> <!--[if gte vml 1]> <![endif]--><!--[if !vml]--><!--[endif]-->
此处图贴不上,如果需要可以联系我!<!--[if mso & !supportInlineShapes & supportFields]><span lang=EN-US style='font-size:10.5pt;"Times New Roman";"font-size: 10.5pt;Times New Roman";"><!--[if gte vml 1]> <![if !mso]> <table cellpadding=0 cellspacing=0 width="100%"> <tr> <td><![endif]> <div> <div>Message</div> </div> <![if !mso]></td> </tr> </table> <![endif]> <![if !mso]> <table cellpadding=0 cellspacing=0 width="100%"> <tr> <td><![endif]> <div> <div>Message</div> </div> <![if !mso]></td> </tr> </table> <![endif]> <![if !mso]> <table cellpadding=0 cellspacing=0 width="100%"> <tr> <td><![endif]> <div> <div>aObject</div> </div> <![if !mso]></td> </tr> </table> <![endif]> <tr> <td><![endif]> <div> <div>aObject</div> </div> <![if !mso]></td> </tr> </table> <![endif]> <tr> <td><![endif]> <div> <div>aObject</div> </div> <![if !mso]></td> </tr> </table> <![endif]> <![endif]--> <!--[if gte vml 1]> <![endif]--><!--[if !vml]--><!--[endif]-->
<!--[endif]--><!--[if mso & !supportInlineShapes & supportFields]--> 下图是AOP的一个特性原理图。
此处图无法贴上,如果需要可以联系我!
<!--[if gte vml 1]> <![endif]--><!--[if !vml]--><!--[endif]-->
上面两个图比较形象生动的解释了AOP和OOP之间的差异。
接下来的内容介绍了AOP的静态特性。
这里主要介绍了Reflection,理论性很强,看得似懂非懂。后边说AspectJ并不像人们所批评得那样烂,因为它在实现静态特性上有很大得优点。
最后对AOP得发展进行了展望。
发展方向有两个:
动态特性,静态特性。提出前景乐观。