在我们的日常生活中通常需要通过第三方的介绍来办理相关的业务,比如租房子会去找房屋中介、找对象去婚姻介绍所。今天给大家介绍的这个设计模式就是关于这样的情况,叫做代理模式。
代理模式结构图如下:
Subject类,定义RealSubject和Proxy的公共接口:
package com.kunl.proxy;
/**
* @author fokman
* @version 1.0
* @created 31-五月-2011 22:22:05
*/
public abstract class Subject {
public abstract void request();
}
Proxy类,保存一个引用使代理可以访问实体:
package com.kunl.proxy;
/**
* @author fokman
* @version 1.0
* @created 31-五月-2011 22:22:05
*/
public class Proxy extends Subject {
public RealSubject realSubject;
public void request(){
if(realSubject==null){
realSubject = new RealSubject();
}
realSubject.request();
}
}
RealSubject类,定义Proxy所代表的真实实体:
package com.kunl.proxy;
/**
* @author fokman
* @version 1.0
* @created 31-五月-2011 22:22:05
*/
public class RealSubject extends Subject {
public RealSubject(){
}
public void finalize() throws Throwable {
super.finalize();
}
public void request(){
System.out.println("真实的请求");
}
}
客户端代码调用:
package com.kunl.proxy;
/**
* @author fokman
* @version 1.0
* @created 31-五月-2011 22:22:05
*/
public class Client {
public static void main(String[] args) {
Proxy proxy = new Proxy();
proxy.request();
}
}
总结:代理模式一共分为四种
1.远程代理,就是为一个对象在不同的地址空间提供局部代表。这样可以隐藏一个对象存在于不同地址空间的事实。
2.虚拟代理,根据需要创建开销很大的对象。通过它来存放实例化需要很长时间的真实对象。
3.安全代理,用来控制真实对象访问的权限
4.只能指引,当调用真实对象时,代理处理另外一些事。
分享到:
相关推荐
代理模式是一种设计模式,它在软件工程中扮演着重要的角色,允许我们为其他对象提供一个替代接口,以控制对原始对象的访问。这种模式的主要目的是为了增加灵活性、安全性或者在不修改原有对象的情况下,增强或扩展其...
代理模式是设计模式的一种,它提供了一种对目标对象进行增强或者控制访问的方式。在本实例中,我们将深入探讨Java中的代理模式及其应用。 代理模式的核心思想是为一个对象创建一个代理对象,这个代理对象在客户端和...
代理模式是设计模式中的一种结构型模式,它在对象交互中起到了中介的作用,允许通过代理对象来控制对原对象的访问。代理模式的核心思想是为一个对象提供一个替身,以便增加新的功能或者控制对原对象的访问。这种模式...
代理模式是一种常用的设计模式,它在软件开发中扮演着重要的角色,特别是在iOS平台的应用程序设计中。代理模式的核心思想是为一个对象提供一个替身或代理,以控制对这个对象的访问。这种模式允许我们通过代理来间接...
在Java编程中,代理模式是一种常用的面向对象设计模式,它允许我们为一个对象提供一个代理以控制对该对象的访问。代理模式通常用于增加额外的功能,如日志、权限检查等,或者为了创建虚拟代理以提高性能。以下是Java...
**Java设计模式——代理模式详解** 代理模式是软件设计模式中的一个重要组成部分,它在Java编程中扮演着举足轻重的角色。代理模式的核心思想是为一个对象提供一个替身,这个替身即代理对象,代理对象可以控制对原...