锁定老帖子 主题:使用java动态代理机制实现AOP是丑陋的
精华帖 (0) :: 良好帖 (5) :: 新手帖 (0) :: 隐藏帖 (7)
|
|
---|---|
作者 | 正文 |
发表时间:2008-05-06
你这么实现不是aop的概念,其实就是代理模式么
|
|
返回顶楼 | |
发表时间:2008-05-06
这个怎么感觉不像动态代理来着
|
|
返回顶楼 | |
发表时间:2008-05-06
我认为动态代理要与容器配合使用才能发挥威力,应用程序只关心业务逻辑,而生成代理的过程由容器来自动完成;自己手工写代理代码确实把业务逻辑和代理逻辑混在一起了,维护、扩展都比较麻烦
如果自己把代理逻辑抽象出来,与业务逻辑分离,你会发觉就象是在做一个容器。既然如此,为什么不用现成的、成熟的容器呢? |
|
返回顶楼 | |
发表时间:2008-05-07
你可以将业务代码调用动态代理的代码进行封装。这样在业务代码中就没有你所说的那么多丑陋的代码了。。
|
|
返回顶楼 | |
发表时间:2008-05-07
其实我的意思是,实现aop的方式,动态代码生成,比如使用aspectj或者asm要比使用动态代理要好一些。想问问大家的想法。
|
|
返回顶楼 | |
发表时间:2008-05-07
我也觉得楼主是否可以尝试用容器呢,比如 Spring ,可以让你的业务代码变得很干净。
|
|
返回顶楼 | |
发表时间:2008-05-07
movingboy 写道 单单从代码来看,似乎也就是这样做吧?似乎Guice提供了Annotation来替代手工创建proxy的代码,而Spring则是用配置来实现(不清楚Spring是否也提供了annotation)
spring2.5是可以用aonntation来做aop的~~~ |
|
返回顶楼 | |
发表时间:2008-05-07
clarkhill 写道 其实我的意思是,实现aop的方式,动态代码生成,比如使用aspectj或者asm要比使用动态代理要好一些。想问问大家的想法。
bci当然比dynamic proxy要来的更加的好,运行时怎么也比不过编译时或装载时,不过么有免费的午餐,技术难度也不可同日而语。 |
|
返回顶楼 | |
发表时间:2008-05-07
可以用spring的封装
|
|
返回顶楼 | |
发表时间:2008-05-07
本来就无所谓丑陋,优雅的调用总是要封装一些丑陋的代码。
|
|
返回顶楼 | |