论坛首页 Java企业应用论坛

使用java动态代理机制实现AOP是丑陋的

浏览 13623 次
精华帖 (0) :: 良好帖 (5) :: 新手帖 (0) :: 隐藏帖 (7)
作者 正文
   发表时间:2008-05-06  
你这么实现不是aop的概念,其实就是代理模式么
0 请登录后投票
   发表时间:2008-05-06  
这个怎么感觉不像动态代理来着
0 请登录后投票
   发表时间:2008-05-06  
我认为动态代理要与容器配合使用才能发挥威力,应用程序只关心业务逻辑,而生成代理的过程由容器来自动完成;自己手工写代理代码确实把业务逻辑和代理逻辑混在一起了,维护、扩展都比较麻烦
如果自己把代理逻辑抽象出来,与业务逻辑分离,你会发觉就象是在做一个容器。既然如此,为什么不用现成的、成熟的容器呢?
0 请登录后投票
   发表时间:2008-05-07  
你可以将业务代码调用动态代理的代码进行封装。这样在业务代码中就没有你所说的那么多丑陋的代码了。。
0 请登录后投票
   发表时间:2008-05-07  
其实我的意思是,实现aop的方式,动态代码生成,比如使用aspectj或者asm要比使用动态代理要好一些。想问问大家的想法。
0 请登录后投票
   发表时间:2008-05-07  
我也觉得楼主是否可以尝试用容器呢,比如 Spring ,可以让你的业务代码变得很干净。
0 请登录后投票
   发表时间:2008-05-07  
movingboy 写道
单单从代码来看,似乎也就是这样做吧?似乎Guice提供了Annotation来替代手工创建proxy的代码,而Spring则是用配置来实现(不清楚Spring是否也提供了annotation)

spring2.5是可以用aonntation来做aop的~~~
0 请登录后投票
   发表时间:2008-05-07  
clarkhill 写道
其实我的意思是,实现aop的方式,动态代码生成,比如使用aspectj或者asm要比使用动态代理要好一些。想问问大家的想法。


bci当然比dynamic proxy要来的更加的好,运行时怎么也比不过编译时或装载时,不过么有免费的午餐,技术难度也不可同日而语。
0 请登录后投票
   发表时间:2008-05-07  
可以用spring的封装
0 请登录后投票
   发表时间:2008-05-07  
本来就无所谓丑陋,优雅的调用总是要封装一些丑陋的代码。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics