`
q395488499
  • 浏览: 9635 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

策略模式与代理模式的比较

 
阅读更多
最近了解了一下策略模式和代理模式,发现一些比较有意思的异同点。

策略模式的组成成员:一个接口、若干个接口实现类、一个策略接口调用类。
策略模式特点:
       接口:公用方法;
       接口实现类:以各种方式实现接口的公用方法;
       策略接口调用类:
             1、成员变量为策略接口;
             2、带参数构造函数,参数为策略接口,为成员变量赋值;
             3、调用接口的公用方法。

代理模式的组成成员:一个接口,若干接口实现类,一个实现接口的代理类
代理模式特点:
       接口:公用方法;
       接口实现类之普通类:实现公用方法;
       接口实现类之代理类:
             1、实现接口;
             2、成员变量为代理接口;
             3、带参数的构造函数,参数为代理接口,为成员变量赋值;
             4、调用接口的公用方法。

从上面列举的特性来看,两种模式非常相似,区别只在核心类,策略模式的
核心类如果实现接口,便成为了代理模式,而代理模式撤掉核心类的接口实现,
就成了策略模式。
分享到:
评论
2 楼 q395488499 2012-02-19  
是啊,我没注意,谢谢提醒。
1 楼 happyjeef18 2011-09-19  
接口好像不是用来继承的吧。 用来实现。。

相关推荐

    js策略模式和代理模式

    代理模式中的代理对象和目标对象实现相同的接口,客户端与代理对象进行交互,代理对象则根据具体情况决定是否将请求转给目标对象。在JavaScript中,代理模式可用于控制对象访问、惰性初始化、访问日志记录等。 ...

    简单工厂模式、代理模式、策略模式如此相似

    在软件设计模式的世界里,"简单工厂模式"、"代理模式"和"策略模式"都是经典的设计模式,它们各自有着独特的应用场景和优缺点。本文将深入解析这三种模式的原理和区别,帮助读者理解它们在实际开发中的运用。 首先,...

    策略模式和代理模式.docx

    策略模式和代理模式都是设计模式中的重要成员,它们在软件设计中有着广泛的应用。这两种模式在概念上有所相似,但其核心应用场景和目的各有不同。 首先,策略模式是一种行为设计模式,它允许在运行时动态地改变对象...

    23种设计模式之:建造者,代理,观察,策略,状态模式

    本文将重点介绍标题中提到的五种设计模式:建造者模式、代理模式、观察者模式、策略模式以及状态模式。 **1. 建造者模式(Builder)** 建造者模式是一种创建型设计模式,它允许我们分步骤构建复杂对象,而无需暴露...

    Spring下使用策略模式

    在Spring框架中,策略模式是一种常见的设计模式,它允许我们定义一组可互换的策略,这些策略可以在运行时根据需求动态选择。这篇文章将深入探讨如何在Spring中运用策略模式,并结合源码分析其工作原理。 策略模式的...

    python 项目里常用的设计模式 组合模式 策略模式 抽象工厂 代理模式 工厂模式 观察者模式 简单工厂 建造者模式 模板模式

    python 项目里常用的设计模式 单例模式 组合模式 策略模式 抽象工厂 代理模式 工厂模式 观察者模式简单工厂 建造者模式 模板模式 桥接多维度 桥接模式 适配器模式 外观模式 享元模式 责任链组合模式

    软件体系结构实验报告--设计模式2

    本实验报告主要探讨了五个关键的设计模式:组合模式、外观模式、代理模式、观察者模式以及策略模式,这些都是软件体系结构中的重要组成部分,对于理解和优化代码结构具有深远影响。 1. **组合模式**: 组合模式是一...

    结构型模式之代理模式(Proxy)

    代理模式的应用场景广泛,例如在Web开发中,可以通过代理模式来实现权限控制、缓存策略、日志记录等功能。在软件设计中,代理模式可以帮助我们遵循开闭原则,即对扩展开放,对修改关闭,因为它允许我们在不改变原有...

    代理模式Demo代理模式代理模式Demo

    总结来说,代理模式是一种灵活的设计策略,它允许我们在不修改原有系统的基础上,通过引入代理对象来扩展系统的功能,提高代码的可复用性和可维护性。通过理解和熟练运用代理模式,开发者能够更好地应对各种复杂的...

    网闸代理模式配置.docx

    深信服网闸代理模式配置是一项关键的安全管理任务,它涉及到网络访问控制和数据传输的安全性。网闸,全称为“安全隔离与信息交换系统”,主要用于实现不同安全等级网络之间的安全隔离,同时满足数据交换的需求。以下...

    Java 经典设计模式讲解以及项目实战

    3 策略模式 4 模板方法模式 5 工厂方法模式 6 抽象工厂模式 7 建造者模式 8 代理模式 9 装饰模式 10 原型模式 11 委派模式 12 适配器模式 设计模式综合运用 1 门面+模版方法+责任链+策略 2 门面+模版方法+责任链+...

    设计模式:简单工厂、方法工厂、抽象工厂、单例、原型、委派、模板、代理、策略

    9. **策略**:策略模式是一种行为设计模式,它使你能在运行时改变对象的行为。策略定义了一系列算法,并将每一个算法封装起来,使它们可以相互替换,策略让算法独立于使用它的客户。 这些设计模式都是面向对象编程...

    cas代理模式代码示例

    在IT行业中,代理模式是一种常见的设计模式,它允许我们在不修改原有对象的基础上,为对象添加新的功能或控制访问。在本示例中,我们将重点讨论如何在Java环境下使用代理模式来实现代理逻辑,特别是在CAS(Central ...

    iOS策略模式的实现

    在实际项目中,可以结合其他设计模式如工厂模式、代理模式等,进一步优化代码结构。 压缩包文件`Chung_Ch19_Strategy_code`可能包含了示例代码,你可以下载后进行学习和参考,以更深入地理解策略模式在iOS开发中的...

    设计模式之_代理模式

    **代理模式**是一种常用的设计模式,它在软件开发中扮演着重要的角色,特别是在对象的访问控制、性能优化、安全策略等方面。代理模式的核心思想是为一个对象提供一个替身,这个替身即代理对象,代理对象可以控制对原...

    LED照明灯具代理模式

    LED照明灯具代理模式是一种在照明行业中常见的销售渠道策略,旨在通过合作伙伴关系扩大市场覆盖面,提高品牌知名度和销售量。这种模式的核心在于寻找合适的代理商,与他们建立长期稳定的关系,共同推动LED照明灯具的...

    java 设计模式 mvc模式 单例模式 代理 工厂 简单工厂

    3. **代理模式**:代理模式为其他对象提供一种代理以控制对这个对象的访问。它可以用来在访问目标对象前添加额外的功能,如权限检查、日志记录或者缓存策略。Java中,静态代理和动态代理(Java Proxy API)是常见的...

    23种设计模式详解PDF

    设计模式 的分类 总体来说设计模式分为三大类: 创建型模式(5): ...策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

    设计模式-C++

    结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、...

Global site tag (gtag.js) - Google Analytics