前段时间开始学习Spring的AOP时,总是觉得像是装饰器模式,因为切面的织入,不就相当于在不改变原接口的条件下,增加功能吗?但是更深入学习后才知道它的实现机制其实是代理模式。
我以前理解的代理模式只是起代理作用,而没有功能的扩展,可能不太对,因为那样意义也不是很大,但是如果伴随着功能的增加,这难道不是装饰器模式吗?
我觉得这两种模式还是容易混淆的,请哪位朋友帮忙分析一下,其中的不同,谢谢!
Proxy模式的目的給定為:[color=red]為其它的物件提供一種代理,以控制對這個物件的訪問[/color]。由這句話所延伸出來的意思是,根據您的目的不同,您的代理物件將負有不同的責任,因為產生多種不同的代理情況。
AOP是采用代理模式,再利用反射的机制.
[url]http://pan-java.iteye.com/admin/blogs/422856[/url]
装饰器模式的目的是,包装具有相同父类和接口的类.利用组合.然后重写相关的方法.
[url]http://pan-java.iteye.com/admin/blogs/413314[/url]
java.io里面就是装饰器模式的.