`
hongbiangoal
  • 浏览: 15120 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
社区版块
存档分类
最新评论

设计模式2--代理模式

阅读更多

代理模式(proxy)白话就是一个人替另外一个人做一些事情。

       代理模式所涉及的角色:

              i)抽象主题角色:声明了真实主题与代理主题的共同接口。

              ii)代理主题角色:包含了真实主题角色的引用,在将客户端的调用传递给真实主题角色之前或者之后调用某些

                                        方法而不是直接把调用传递给真实主题角色。

               iii)真实主题角色:定义了代理主题所代表的真实对象

      例如:

             Subject抽象类:abstract  public class Subject{

                                             abstract  public void request();

                                     }

             RealSubject类: public class RealSubject extends Subject{

                                             public void request(){

                                                    System.out.println("实现请求");

                                             }

                                     }

             ProxySubject类:public class ProxySubject extends Subject{

                                              //对真实主题的引用,用来操作真实主题

                                              private RealSubject realSubject;

                                              //请求前操作

                                              public void preRequest(){

                                                     System.out.println("请求前操作");

                                              }

                                              //请求后操作

                                              public void postRequest(){

                                                     System.out.println("请求后操作");

                                              }

                                              //实现请求方法

                                              public  void  request(){

                                                     preRequest();

                                                     if(realSubject==null){realSubject = new RealSubject();}

                                                     realSubject.request();

                                                     postRequest();

                                              }

                                      }

              客户端调用方式:Subject subject = new ProxySubject();

                                      subject.request();

分享到:
评论

相关推荐

    设计模式精解-GoF-23种设计模式解析--附C++源代码

    - 代理模式(Proxy):为其他对象提供一种代理以控制对这个对象的访问。 - 外观模式(Facade):提供一个统一的接口,用来访问子系统的一组接口。 - 适配器模式(Adapter):使两个接口不兼容的类能够协同工作。 ...

    设计模式--代理模式

    代理模式是一种常用的设计模式,它在软件开发中扮演着重要角色,允许我们通过一个代理类来控制对原对象的访问。在《设计模式:可复用面向对象软件的基础》(通常称为GoF设计模式)中,代理模式被定义为“为其他对象...

    C++设计模式--基于Qt4开源跨平台开发框架

    《C++设计模式--基于Qt4开源跨平台开发框架》一书主要探讨了如何在C++编程中利用设计模式,并结合Qt4框架进行高效的跨平台应用开发。设计模式是软件工程中的重要概念,它们是经过时间和实践验证的解决特定问题的模板...

    设计模式精解-GoF 23种设计模式解析附C++实现源码

    ### 设计模式精解——GoF 23种设计模式解析及C++实现源码 #### 引言 设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。GoF(Gang of Four)所提出的23种设计模式,被认为是面向对象...

    设计模式精解-GoF 23种设计模式解析附C++.pdf

    ### 设计模式精解——GoF 23种设计模式解析及C++实现 #### 0. 引言 设计模式作为面向对象编程的核心组成部分,是软件开发者在长期实践中总结出来的最佳实践。通过深入理解这些设计模式,我们可以更好地进行面向...

    java设计模式---诙谐易懂版

    2. 设计模式是一套被反复使用、多数人知晓、经过分类编目、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。设计模式一般分为三大类:创建型模式、结构型模式和行为型...

    设计模式课件大全

    设计模式10-代理模式、结构型模式大复习 设计模式11-行为模式-责任链、命令模式 设计模式12-解释器模式 设计模式13-迭代器模式 设计模式14-中介者模式、备忘录模式 设计模式15-观察者模式、状态模式 设计模式16-策略...

    设计模式精解-GoF 23种设计模式解析附C++实现源码.pdf

    ### 设计模式精解——GoF 23种设计模式解析及C++实现源码 #### 0. 引言 设计模式是软件工程领域的一个重要概念,它提供了一种解决常见问题的方法论。GoF(Gang of Four)所提出的23种设计模式被视为面向对象设计的...

    设计模式精解-GoF23种设计模式解析附C++实现源码

    - 代理模式(Proxy):为其他对象提供一种代理以控制对这个对象的访问。 - 外观模式(Facade):为子系统提供一个统一的接口,使得子系统更容易使用。 - 桥接模式(Bridge):将抽象部分与它的实现部分分离,使...

    Java设计模式----通俗易懂版

    2. 结构型设计模式: - 适配器模式:将两个不兼容的接口转换为可以一起工作的接口。 - 桥接模式:将抽象部分与实现部分分离,使它们可以独立变化。 - 组合模式:允许你将对象组合成树形结构,表现得像单个对象。 ...

    设计模式-代理模式

    代理模式是一种常用的设计模式,它在软件开发中扮演着重要的角色,特别是在iOS平台的应用程序设计中。代理模式的核心思想是为一个对象提供一个替身或代理,以控制对这个对象的访问。这种模式允许我们通过代理来间接...

    新版设计模式手册 - C#设计模式(第二版)

    《新版设计模式手册 - C#设计模式(第二版)》是一部深入探讨C#编程中设计模式的权威指南,尤其适合已经有一定C#基础并希望提升软件设计能力的开发者阅读。设计模式是解决软件开发中常见问题的经验总结,是软件工程的...

    设计模式精解-GoF 23种设计模式解析附C++实现源码 完整版

    《设计模式精解-GoF 23种设计模式解析附C++实现源码 完整版》是一份深入探讨软件工程中经典设计模式的重要资料,涵盖了面向对象编程中的核心设计原则和实践。这份资源主要关注GoF(Gang of Four,即《设计模式:可...

    JAVA设计模式例程-代理模式

    2. **代理模式的类型** - **静态代理**:在编译时,代理类和目标类的关系就已经确定。Java中的接口可以用来实现静态代理,代理类实现相同的接口,从而调用目标对象的方法。 - **动态代理**:在运行时动态地创建...

    优秀的设计模式示例-静态代理模式

    静态代理模式是设计模式中的一种,属于结构型模式,主要用在我们想要在不修改原有对象的基础上,为对象添加额外功能或者控制对象的行为时。在这个例子中,"优秀的设计模式示例-静态代理模式"提供了实际项目中的代码...

    JAVA-设计模式-结构型模式-代理模式

    JAVA-设计模式-结构型模式-代理模式

    设计模式精解-GoF 23 种设计模式解析附 C++实现源码

    ### 设计模式精解—GoF 23种设计模式解析及C++实现源码 #### 0. 引言 设计模式作为一种重要的面向对象设计工具,在软件开发中扮演着至关重要的角色。本文旨在深入解析GoF(Gang of Four,四人组)提出的23种设计...

Global site tag (gtag.js) - Google Analytics