cuiyi's blog(崔毅 crazycy)

记录点滴 鉴往事之得失 以资于发展
数据加载中……

我对设计模式的理解:AOP vs 动态代理(Dynamic Proxy)

非常感谢你的阅读,如果你觉得好或者对你有一定的帮助,请积极参与评论以示鼓励。 

曾遇到“AOP与动态代理有什么联系”的问题,现把个人观点整理如下:

我觉得,动态代理是AOP的主要实现手段之一,AOP是动态代理的一种应用深化

AOP是一种思想,或者是方法论,类似OOP,是OOP的有力补充;
OOP侧重于主要业务功能设计(一般关注点);
AOP侧重于横切关注点(事务、日志、安全等,贯穿于多个模块的功能)
小分析:
OOP在横切关注点问题的不足是:1)代码混乱 2)代码分散
AOP很好的解决了这个问题,并且可以很好的解决“侵入问题”。

AOP的实现,必然要求对截获的对象进行代理,这个地方无疑要用的是动态代理机制。

如果非要说谁是谁的实现手段,我更倾向于AOP主要应用了动态代理,动态代理是AOP的实现手段。

附记
记得一个文章提及:
AOP是设计模式的延续;
GoF侧重于接口、抽象函数来解除耦合;却对对象的内部无能为力。
AOP却恰恰从对象的内部着手,实现调用者和被调用者的分离。

常思考之,甚是!

Thanks very much to visit blog,  welcome your feedback,  your feedback is the Driver && Power to me.

posted on 2006-10-29 15:15 crazycy 阅读(2192) 评论(4)  编辑  收藏 所属分类: JavaEE技术Design Pattern、JEE Pattern

评论

# re: 我对设计模式的理解:AOP vs 动态代理(Dynamic Proxy)  回复  更多评论   

正解。
2006-10-30 09:12 | Supergoal

# re: 我对设计模式的理解:AOP vs 动态代理(Dynamic Proxy)  回复  更多评论   

AOP还不能说上升到方法论的高度
2006-10-30 09:57 | AlleNny

# re: 我对设计模式的理解:AOP vs 动态代理(Dynamic Proxy)  回复  更多评论   

赞成你的观点。
2006-11-08 13:51 | wtjd

# christian louboutin  回复  更多评论   

amaizng
2011-06-15 15:13 | christian louboutin

只有注册用户登录后才能发表评论。


网站导航: