作者 内容
 寂寞的意义   设计模式问题,请教高手:Proxy和Decorator的区别

----我觉得二者的意图区别不大,Decorator是为动态添加额外功能而设置的,而Proxy是提供一种代理一控制对这个对象的访问,应该说也就是限制了被代理对象的一些功能,从这个角度说,其实也是为该对象增加了一种额外的功能啊,这种功能就是“限制原有功能使用”。(哦,我好像没有说清楚)

请高手指点。
 01/09/25 21:47 酷帖!    臭帖!    回复  
酷帖评价:           臭帖评价:
返回页首
 potian  两者的意图风马牛不相及

decorator:主要处理组合爆炸问题,接口透明
proxy:主要处理不能直接存取到的信息、需要部分加载的数据或者需要预处理后处理的数据,真正处理信息的位置透明
应用实例:
decorator接口保持统一,所以你能包装之上加包装,改变包装的顺序,不是采用直接继承,不会形成子类组合爆炸,。最后形成一个对象链,直至最内核。典型用法:Java Stream 框架
proxy隐藏信息的真正位置,使得你的信息对客户代码总是可用的,但是可能采用部分加载(如浏览一万个对象,你第一次获取时只取得OID,当客户代码需要时,再加载该对象的全部信息。),或者是分布式应用,象EJB模型,总是在客户端有一个proxy,当客户代码调用一个EJB对象的方法时,其实该对象使用代理把方法交给EJB容器处理。你可以叫RMI编译时不删除产生中间代码,里面能够清楚地看到代理模式的使用。
 01/09/26 09:27 酷帖!    臭帖!    回复  
酷帖评价:           臭帖评价:
返回页首
 寂寞的意义   谢谢!

谢谢!
 01/09/26 11:34 酷帖!    臭帖!    回复  
酷帖评价:           臭帖评价:
返回页首
 potian  下次直接贴到erptao.org的论坛上,我不一定经常来这里

 01/09/26 11:50 酷帖!    臭帖!    回复  
酷帖评价:           臭帖评价:
返回页首