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

设计模式学习之代理模式

阅读更多

1.名词解释

代理模式:为其他对象提供一种代理以控制对这个对象的访问。主要有三种,1.远程代理,也就是为一个对象在不同的地址空间提供拒不代表,这样可以隐藏一个对象存在于不同地址空间的事实;2.虚拟代理,是根据要创建开销很大的对象,通过它来存放实例化需要很长时间的真实对象。2.安全代理,用来控制真实对象访问时的权限。

 

2.代码示例

package DesignPattern.ProxyPattern;

public abstract class Subject {

	public abstract void request();
}

 

真实对象
package DesignPattern.ProxyPattern;

public class RealSubject  extends Subject {

    private String name = "";	
	
	public RealSubject(String name) {
	    this.name = name;	
	}
	
	@Override
	public void request() {
		System.out.println("I am "+ this.name +", May I have your phone call?");
	}

}

 

代理
package DesignPattern.ProxyPattern;

public class Proxy extends Subject{

	private RealSubject realSubject ;

	@Override
	public void request() {
		// TODO Auto-generated method stub
		if(realSubject == null) {
			realSubject = new RealSubject("xxoo");
		}
		realSubject.request();
	}
	
	
}

 

主控程序
package DesignPattern.ProxyPattern;

public class Client {

	public static void main(String[] args) {
		Proxy proxy = new Proxy();
		proxy.request();
	}
}

  

 

分享到:
评论

相关推荐

    设计模式之美—学习笔记

    在这个“设计模式之美”的学习笔记中,我们将探讨一些主要的设计模式,以及它们在实际开发中的应用。 首先,我们从创建型模式开始。这类模式主要用于对象的创建,如单例模式(Singleton)、工厂模式(Factory ...

    设计模式之代理模式demo

    代理模式是一种常用的设计模式,它在软件开发中起到了中介或者代表的作用。代理模式的主要目的是为其他对象提供一种代理以...在学习代理模式时,可以尝试编写不同类型的代理,并在实际项目中寻找应用实例,以加深理解。

    设计模式C++学习之代理模式(Proxy)

    代理模式是一种设计模式,它是结构型模式之一,主要用于在客户端和目标对象之间建立一个代理对象,以便控制对目标对象的访问。在C++中,代理模式可以用来为其他对象提供一种代理以控制对这个对象的访问,或者增加...

    设计模式学习报告

    ### 设计模式学习报告 #### 一、设计模式概述 设计模式是一种被广泛接受和使用的编程解决方案,旨在解决软件设计中的常见问题。它不仅能够帮助开发者编写出更易于理解和维护的代码,还能够促进代码的复用性。设计...

    设计模式学习 ppt

    这个“设计模式学习ppt”资料包显然是一份面向初学者或大学生的教学资源,通过十四个PPT文件深入浅出地讲解了设计模式的各个方面。 首先,我们来看设计模式的基本概念。设计模式是对在特定上下文中反复出现的问题...

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

    8 代理模式 9 装饰模式 10 原型模式 11 委派模式 12 适配器模式 设计模式综合运用 1 门面+模版方法+责任链+策略 2 门面+模版方法+责任链+策略+工厂方法 3 动态代理+Spring AOP 4 责任链模式进阶 Spring Framework...

    设计模式之美——教你写出高质量代码

    "设计模式之美——教你写出高质量代码"这个主题旨在帮助开发者更好地理解和应用设计模式,从而提升代码的质量和可维护性。设计模式不仅对面试有所帮助,也是职场发展中的必备技能,无论你使用哪种开发语言。 设计...

    设计模式学习笔记总结

    这里我们聚焦于C#语言中的设计模式学习笔记,涵盖了多种经典的设计模式,如合成模式、桥梁模式、装饰模式、享元模式、门面模式、命令模式、工厂方法、策略模式、代理模式以及状态模式。下面将对这些模式逐一进行详细...

    java设计模式学习

    本资料“java设计模式学习”包含了对设计模式的深入理解和实际应用,通过简单实用的例子,帮助开发者掌握如何在Java项目中运用设计模式。 首先,我们要介绍的是工厂模式。工厂模式是一种创建型设计模式,它提供了一...

    24种设计模式以及混合设计模式

    通过学习和应用这些设计模式,开发者不仅可以提高代码的可读性、可维护性和可扩展性,还能提升团队间的沟通效率,因为设计模式是软件工程中的通用语言。对于任何有志于提升软件开发水平的人来说,理解和掌握设计模式...

    Java设计模式-代理模式例子

    通过学习和实践代理模式,开发者可以更好地理解和掌握面向对象设计原则,如单一职责原则和开闭原则,同时也能提高代码的复用性和可测试性。在Java世界里,设计模式是连接理论和实践的重要桥梁,是每个专业开发者必备...

    android设计模式之代理模式

    代理模式在软件设计中是一种常用的设计模式,尤其在Android开发中,它可以帮助我们实现复杂的控制逻辑,隔离复杂性,以及提供额外的功能。在Android上下文中,代理模式常常用于数据加载、权限控制、事件处理等方面。...

    JAVA 设计模式 工厂模式 代理模式 迭代模式 责任链模式 源码

    以下是关于JAVA设计模式中提及的四种模式——工厂模式、代理模式、迭代器模式以及责任链模式的详细说明。 1. **工厂模式**:工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。在工厂模式中,当创建...

    Head First 设计模式 +Java设计模式(第2版)

    这本书通过丰富的图像、故事和幽默的方式,引导读者了解23种经典的GoF(Gang of Four)设计模式,包括单例模式、工厂模式、观察者模式、装饰器模式、适配器模式、代理模式等。书中强调了如何在实际项目中选择和应用...

    Java设计模式-代理模式

    Java设计模式是软件开发中的重要概念,它是一种在软件系统中重用代码、提高灵活性和可维护性的方法。代理模式是这些设计模式中的一种,它为其他...通过学习和应用代理模式,开发者可以更好地设计和实现复杂的软件系统。

    GOF设计模式中英文+设计模式精解中英文

    GOF(Gang of Four)设计模式,由Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides四位专家在他们的著作《设计模式:可复用面向对象软件的基础》中提出,被誉为设计模式的经典之作。本资源包含了GOF设计...

    设计模式学习.zip

    本资源"设计模式学习.zip"聚焦于C++编程语言中的设计模式应用,是2017年的一次黑马程序员培训课程的配套代码,旨在帮助学习者通过实际的代码示例来理解和掌握设计模式。 在C++中,设计模式主要分为三大类:创建型...

    DAO设计模式(工厂+代理)

    DAO(Data Access Object)设计模式是一种在软件...这个例子中的"DAOFinal"可能包含了实现这些设计模式的具体代码和SQL脚本,供开发者参考学习。通过实践这些模式,开发者可以构建出更加健壮、易于维护的数据库访问层。

Global site tag (gtag.js) - Google Analytics