锁定老帖子 主题:简单代理模式与策略模式的区别
精华帖 (0) :: 良好帖 (0) :: 新手帖 (8) :: 隐藏帖 (1)
|
|
---|---|
作者 | 正文 |
发表时间:2010-05-24
最后修改:2010-05-24
看到这篇文章很受启发,http://royaki.iteye.com/blog/659895 我个人的理解是这样的: 简单代理模式与策略模式在功能上的很大的区别是: 简单代理模式中,代理类知道被代理类的行为,因为代理类与被代理类实现的是同一个接口,因此代理类与被代理类的结构是相同的; 而策略模式中,策略容器并不知道内部策略的详细信息,因为容器并没有实现与内部策略相同的接口,即容器与内部策略只是简单的组合关系,容器只是将内部策略的行为抽取出来,进行了统一的实现。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-05-25
其实这种区别在GOF设计模式前10页就有概述
代理模式是对访问的控制 策略模式是对算法的封装 当然如果要完全理解还是需要时间的。 |
|
返回顶楼 | |
发表时间:2010-05-25
这两者的意图是截然不同的吧!
|
|
返回顶楼 | |
发表时间:2010-05-25
这两者有可比性吗?如果能给我详细描述出代理模式与装饰模式的区别及各自使用场合,那才是对大家最大的帮助,了解非常透彻的兄弟说说呗
|
|
返回顶楼 | |
发表时间:2010-05-25
模式这东西,看不懂也没有关系。重要的是不要忘记oo的目标,只要我们的设计能达到oo的目标就ok了,到时候我们的设计自然往模式上靠拢。模式是达到oo目标的途径之一而已。模式是已经存在的东西,只不过是gof发现而已,不是gof发明的。
|
|
返回顶楼 | |
发表时间:2010-05-25
XTU_xiaoxin 写道 这两者有可比性吗?如果能给我详细描述出代理模式与装饰模式的区别及各自使用场合,那才是对大家最大的帮助,了解非常透彻的兄弟说说呗
同求,我只能理解概念,不好意思~ |
|
返回顶楼 | |
发表时间:2010-05-25
这两个没有可比性吧,一般都是讨论代理模式和装饰模式的区别,策略模式和模板模式的区别
|
|
返回顶楼 | |
发表时间:2010-05-25
ilove2009 写道 模式这东西,看不懂也没有关系。重要的是不要忘记oo的目标,只要我们的设计能达到oo的目标就ok了,到时候我们的设计自然往模式上靠拢。模式是达到oo目标的途径之一而已。模式是已经存在的东西,只不过是gof发现而已,不是gof发明的。
嗯 确实是,我们的目的不是为了模式而学模式,最终的目的是为了让我们的程序更加符合oo的设计原则! |
|
返回顶楼 | |
发表时间:2010-05-25
代理和装饰的实现是一样的,只是目的不相同。代理是限制,装饰是增强。
很多模式都很像的,要刻意去分清楚需要咬文嚼字。 |
|
返回顶楼 | |
发表时间:2010-05-25
识别真正易变的,隔离它。这点比分清什么模式叫什么更重要。
模式主要实现就分两大类:基于继承(比如模板模式),基于组合(比如策略模式,代理,,) 还有一些简单的,基于正常人的常识,比如门面模式等。 |
|
返回顶楼 | |