Krzysztof Czarnecki 的论文:Generative Programming 系统的总结了AOP的来龙去脉。AOP,更像是一项通过心理学的理论研究,得出的改进了的人类实践工具,而不单纯是技术上的突破。我的这种感受来自于以下几点:
1。从纯技术的角度来说,AOP的编译器ACJ,使用了无结构的解析器,即无需分析代码树,得出交接点。这种技术,应该是对于正则表达式技术的扩展,或者是定制。其他方面和现行的编译技术并没有太大的区别。
2。AOP 是对OO的一种扩展。AOP 中提供的+符号,表示被修饰的类和其子类就是一个证明。它将OO这种方法论进行了扩展,提供了更接近于常人思考逻辑的符号系统,目的是使得人们能更好的表达自己的想法(从而更高效的操纵机械)。可是正如人类思维的漫无边际,AOP 也使得计算机语言表述的内容变得充满想象力和松散。系统的初始设计者,设计了一整套严密的逻辑,使得程序按照预定轨迹运行,而AOP可以轻易改变程序运行轨迹,将原有系统改得面目全非。获得更大自由的同时,也应该承担更多责任。
现状:
当AOP的巨大力量得不到有效管理的时候,大家选择了暂不使用。如一个原本进行高强度权限控制的系统可以被AOP轻易绕过时,一部分人就会遭受巨大损失。
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment