论坛首页 Java企业应用论坛

简单代理模式与策略模式的区别

浏览 8031 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (8) :: 隐藏帖 (1)
作者 正文
   发表时间:2010-05-24   最后修改:2010-05-24

看到这篇文章很受启发,http://royaki.iteye.com/blog/659895

我个人的理解是这样的:
简单代理模式与策略模式在功能上的很大的区别是:

简单代理模式中,代理类知道被代理类的行为,因为代理类与被代理类实现的是同一个接口,因此代理类与被代理类的结构是相同的;

而策略模式中,策略容器并不知道内部策略的详细信息,因为容器并没有实现与内部策略相同的接口,即容器与内部策略只是简单的组合关系,容器只是将内部策略的行为抽取出来,进行了统一的实现。
   发表时间:2010-05-25  
其实这种区别在GOF设计模式前10页就有概述

代理模式是对访问的控制

策略模式是对算法的封装

当然如果要完全理解还是需要时间的。
0 请登录后投票
   发表时间:2010-05-25  
这两者的意图是截然不同的吧!
0 请登录后投票
   发表时间:2010-05-25  
这两者有可比性吗?如果能给我详细描述出代理模式装饰模式的区别及各自使用场合,那才是对大家最大的帮助,了解非常透彻的兄弟说说呗
0 请登录后投票
   发表时间:2010-05-25  
模式这东西,看不懂也没有关系。重要的是不要忘记oo的目标,只要我们的设计能达到oo的目标就ok了,到时候我们的设计自然往模式上靠拢。模式是达到oo目标的途径之一而已。模式是已经存在的东西,只不过是gof发现而已,不是gof发明的。
0 请登录后投票
   发表时间:2010-05-25  
XTU_xiaoxin 写道
这两者有可比性吗?如果能给我详细描述出代理模式装饰模式的区别及各自使用场合,那才是对大家最大的帮助,了解非常透彻的兄弟说说呗

同求,我只能理解概念,不好意思~
0 请登录后投票
   发表时间:2010-05-25  
这两个没有可比性吧,一般都是讨论代理模式和装饰模式的区别,策略模式和模板模式的区别
0 请登录后投票
   发表时间:2010-05-25  
ilove2009 写道
模式这东西,看不懂也没有关系。重要的是不要忘记oo的目标,只要我们的设计能达到oo的目标就ok了,到时候我们的设计自然往模式上靠拢。模式是达到oo目标的途径之一而已。模式是已经存在的东西,只不过是gof发现而已,不是gof发明的。

嗯  确实是,我们的目的不是为了模式而学模式,最终的目的是为了让我们的程序更加符合oo的设计原则!
0 请登录后投票
   发表时间:2010-05-25  
代理和装饰的实现是一样的,只是目的不相同。代理是限制,装饰是增强。

很多模式都很像的,要刻意去分清楚需要咬文嚼字。
0 请登录后投票
   发表时间:2010-05-25  
识别真正易变的,隔离它。这点比分清什么模式叫什么更重要。

模式主要实现就分两大类:基于继承(比如模板模式),基于组合(比如策略模式,代理,,)

还有一些简单的,基于正常人的常识,比如门面模式等。
0 请登录后投票
论坛首页 Java企业应用版

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