`
fokman
  • 浏览: 241082 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

代理模式

阅读更多

     在我们的日常生活中通常需要通过第三方的介绍来办理相关的业务,比如租房子会去找房屋中介、找对象去婚姻介绍所。今天给大家介绍的这个设计模式就是关于这样的情况,叫做代理模式。

    代理模式结构图如下:

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设计模式之代理模式实例

    代理模式是设计模式的一种,它提供了一种对目标对象进行增强或者控制访问的方式。在本实例中,我们将深入探讨Java中的代理模式及其应用。 代理模式的核心思想是为一个对象创建一个代理对象,这个代理对象在客户端和...

    设计模式之代理模式Proxy

    代理模式是设计模式中的一种结构型模式,它在对象交互中起到了中介的作用,允许通过代理对象来控制对原对象的访问。代理模式的核心思想是为一个对象提供一个替身,以便增加新的功能或者控制对原对象的访问。这种模式...

    设计模式-代理模式

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

    java中的三种代理模式

    在Java编程中,代理模式是一种常用的面向对象设计模式,它允许我们为一个对象提供一个代理以控制对该对象的访问。代理模式通常用于增加额外的功能,如日志、权限检查等,或者为了创建虚拟代理以提高性能。以下是Java...

    JAVA设计模式(代理模式)

    **Java设计模式——代理模式详解** 代理模式是软件设计模式中的一个重要组成部分,它在Java编程中扮演着举足轻重的角色。代理模式的核心思想是为一个对象提供一个替身,这个替身即代理对象,代理对象可以控制对原...

Global site tag (gtag.js) - Google Analytics