java设计模式-代理模式

标签: java 设计模式
25人阅读 评论(0) 收藏 举报
分类:
package com.hcmony.proxy;

/**
 * <h3>Shenjue.java基本描述</h3>
 * <p></p>
 *
 * @author hcmony
 * @since V1.0.0, 2018/04/09 09:42
 */
public interface ProxyInteface {
	public void add();
}

package com.hcmony.proxy;

/**
 * <h3>Shenjue.java基本描述</h3>
 * <p></p>
 *
 * @author hcmony
 * @since V1.0.0, 2018/04/09 09:43
 */
public class ProxyReal implements ProxyInteface {
	@Override
	public void add() {
		System.out.println("这是真实的类");
	}
}

package com.hcmony.proxy;

/**
 * <h3>
 *     在代理模式(Proxy Pattern)中,一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。
 		在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。
 * </h3>
 * <p>
 *    	优点: 	1、职责清晰。 2、高扩展性。 3、智能化。
 		缺点: 	1、由于在客户端和真实主题之间增加了代理对象,因此有些类型的代理模式可能会造成请求的处理速度变慢。
 				2、实现代理模式需要额外的工作,有些代理模式的实现非常复杂。
 		使用场景:按职责来划分,通常有以下使用场景:
 				1、远程代理。 2、虚拟代理。 3、Copy-on-Write 代理。
 				4、保护(Protect or Access)代理。 5、Cache代理。
 				6、防火墙(Firewall)代理。 7、同步化(Synchronization)代理。 8、智能引用(Smart Reference)代理。
 		注意事项:1、和适配器模式的区别:适配器模式主要改变所考虑对象的接口,而代理模式不能改变所代理类的接口。
 				2、和装饰器模式的区别:装饰器模式为了增强功能,而代理模式是为了加以控制。
 * </p>
 *
 * @author hcmony
 * @since V1.0.0, 2018/04/03 20:25
 */
public class Proxy implements ProxyInteface {

	private ProxyReal proxyReal;

	@Override
	public void add() {
		System.out.println(" 这是 代理的类");
		if(proxyReal==null){
			proxyReal = new ProxyReal();
			proxyReal.add();
		}
	}

	public static void main(String[] args) {
		ProxyInteface inteface = new Proxy();
		inteface.add();
	}
}

查看评论

Javascript 设计模式之代理模式【专家辅导】

-
  • 1970年01月01日 08:00

JAVA设计模式之代理模式

【代理模式应用场景举例】 比如在玩“极品飞车”这款游戏,如果游戏者手中的金钱达到了一定的数量就可以到车店买一部性能更高的赛车,那么这个卖车的“车店”就是一个典型的“汽车厂家”的“代理”,他为汽车厂家...
  • jason0539
  • jason0539
  • 2014-04-05 07:07:09
  • 25553

Java设计模式——代理模式实现及原理

简介 Java编程的目标是实现现实不能完成的,优化现实能够完成的,是一种虚拟技术。生活中的方方面面都可以虚拟到代码中。代理模式所讲的就是现实生活中的这么一个概念:中介。 代理模式的定义:给某一个对象提...
  • Goskalrie
  • Goskalrie
  • 2016-09-07 13:43:04
  • 27525

Java设计模式之代理模式(结构)

  • 2009年04月20日 11:56
  • 112KB
  • 下载

Java设计模式-代理模式之动态代理(附源码分析)

Java设计模式-代理模式之动态代理(附源码分析) 动态代理概念及类图 上一篇中介绍了静态代理,动态代理跟静态代理一个最大的区别就是:动态代理是在运行时刻动态的创建出代理类及其对...
  • yujin753
  • yujin753
  • 2015-06-26 17:37:41
  • 2483

java设计模式之装饰模式代理模式区别

初次看装饰模式的时候首先想到了上节讲的代理模式,代理模式与装饰者模式看起来很像,都实现基础对象实现的接口,在其自身对象中都保存着对被代理/被装饰者的对象引用。 各用一句话描述两个模式应该是这样的: 装...
  • crazy_meng
  • crazy_meng
  • 2016-04-13 15:33:36
  • 1795

六 设计模式之代理模式(或称委托模式)

定义   为其它对象提供一种代理以控制对这个对象的访问类图通用代码 抽象主题类 public interface Subject { public void request(); } 真实主...
  • guojun828
  • guojun828
  • 2011-01-20 23:26:00
  • 7480

Java设计模式菜鸟系列(十四)代理模式建模与实现

代理模式(Composite):代理模式其实就是多一个代理类出来,替原对象进行一些操作。比如咱有的时候打官司需要请律师,因为律师在法律方面有专长,可以替咱进行操作表达咱的想法,这就是代理的意思。代理模...
  • JAVE_LOVER
  • JAVE_LOVER
  • 2014-10-07 19:41:42
  • 4949

设计模式--装饰者模式与代理模式

这次主要总结下装饰着模式和代理模式,这两个一起进行总结,主要是因为两个设计模式特别的类似。先依次说一下两个设计模式,然后再说下两个模式的不同。...
  • u013159433
  • u013159433
  • 2016-05-25 17:11:25
  • 1652

设计模式-代理模式(jdk代理和cglib代理详解)

说起代理模式,详细很多人早已经很理解,但对于我这个菜鸟,理解的可能还是不到位,写一次博客加深印象。 什么是代理模式呢?代理模式是常用的Java设计模式,它的特征是代理类与委托类有同样的接口,代理类主要...
  • qq_27717967
  • qq_27717967
  • 2017-06-22 11:24:42
  • 594
    个人资料
    专栏达人 持之以恒
    等级:
    访问量: 6万+
    积分: 1306
    排名: 3万+
    博客专栏
    最新评论