Freewind @ Thoughtworks scala java javascript dart 工具 编程实践 月结 math python english [comments admin] [feed]

(2011-09-12) 另一个增强类的工具 aspectj

广告: 云梯:翻墙vpn (省10元) 土行孙:科研用户翻墙http proxy (有优惠)

AspectJ可以说是一个很成熟的技术,成熟表现在:

1. 它在2005年就开始了

2. 它的eclipse插件做得非常好用,达到了java编辑器的水准

然而不得不承认的是,好像很少见到有人使用它。总觉得它是一项很神秘的技术,功能强大,能做很多事情,但是到底能做什么,有什么危险性,却又不清楚。想用到自己的项目中,却又听说它使用了自己的编译器,不知怎么结合使用。中文资料又少得可怜,好像除了书店里那一两本书,很难在网上找到什么有用的资料。而它自己的英文文档写得又臭又长,非常难懂。我昨天尝试使用,以失败告终,那个文档实在太难读了。

不过通过对一两个例子的理解,我觉得aspectj这个东西,到真是一个很强大的工具。它可以静态的对java语言进行各种增强,比如增加字段、增加函数、改变函数功能等等。把java与aspectj结合起来,我们可以极大的增强java的灵活性。比如roo这个框架,就是建立在aspectj的基础上的,实现了“充血模型”和很多其它强大的功能。

可惜的是,这个东西给人的感觉太严肃太学院了,文档也太难懂,不然的话,现在的发展一定会好很多。

希望有机会时好好研究一下这个东西,毕竟java本身的发展太慢,我们必须借助一些其它的工具来提高开发效率。

comments powered by Disqus