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

Java的设计模式之一:代理模式

    博客分类:
  • J2EE
阅读更多

代理模式:

某一个 对象 提供一个 代理对象 ,并由 代理对象 控制对 源对象 的引用。代理就是一个人或一个机构代表另一个或者一个机构采取行动。某些情况下,客户不想或者不能够直接引用一个对象,代理对象可以在客户和目标对象中起 中介的作用。客户端分辨不出代理主题对象与真实主题对象。(客户分辨不出对象的真正所有者是谁)代理模式 可以并不知道真正的 被代理对象,被代理对象必须有系统的其他角色代为创建并传入。

 

代理模式一般涉及到三个角色:

 

抽象角色:

代理角色:

真正角色:

 

代理模式instance:

 

抽象角色: 作为唯一一个购买的对象 RealEstate...

package Agency;
	/**
	 *  抽象出房地产的公共属性
	 *  便于Developer进行开发和设计
	 */
public interface RealEstate {
	public int realEstate();
}

 开发商:有了RealEstate这个抽象的对象,开发商就可以去实现房地产的开发了,此时RealEstate就有了Developer的特点;房子在哪里 房子的价格等;

package Agency;

public class Developer implements RealEstate {
	/**
	 * 实现接口RealEstate
	 * Developer设计自己的房子
	 */

	public int realEstate() {
		System.out.println("Empire Garden Two,DongHu,Wuhan:Opening Celebration June 23,2011");
		return 3000;
	}

}

  

开发商要寻找代理来卖他的房子,这时候出现了代理,代理要实现RealEstate接口,才能才能在自己的基础上去对房子进行自己的定位。同时因为代理是买的开发商的房子,所以代理也要将开发商的东西搞过来,这里这里听过构造方法,和实力话一个房子来实现;

package Agency;

public class PorxySeller implements RealEstate {
	/**
	 * @parameter RealEstate 
	 */
	RealEstate one;
	
	public PorxySeller(RealEstate  one){
		this.one=one;
	}

	public int realEstate() {
		System.out.println("You sould pay more for this property");
		return one.realEstate()+200;
	}

}

 

最后就是客人了,客人首先的看中一个房子 用RealEstate r=new Developer();来实例化出一个,客人还需要一个代理,PorxySeller seller=new PorxySeller(r);通过R将代理和房子联系起来了...

package Agency;

public class Client1 {

	public static void main(String[] args) {
		RealEstate r=new Developer();
		PorxySeller seller=new PorxySeller(r);
		System.out.println(seller.realEstate());
	}

}

 输出结果:

You sould pay more for this property
Empire Garden Two,DongHu,Wuhan:Opening Celebration June 23,2011
3200



 

  • 大小: 17.6 KB
分享到:
评论

相关推荐

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

    Java 经典设计模式讲解以及项目实战 设计模式简介:主要介绍各种设计模式的概念和运用场景等 设计模式综合运用:主要是笔者在实际工作中运用到的一些设计模式综合运用事例的提炼 Spring设计模式简介:主要是讲述...

    JAVA设计模式之代理模式实例

    在Java编程领域,设计模式是一种解决常见问题的模板或最佳实践,它被广泛应用于软件开发中以提高代码的可读性、可维护性和可扩展性。代理模式是设计模式的一种,它提供了一种对目标对象进行增强或者控制访问的方式。...

    JAVA设计模式(java设计)

    - 代理模式:为其他对象提供一种代理以控制对这个对象的访问。 - 模板方法模式:定义一个操作中的算法骨架,而将一些步骤延迟到子类中。 3. 行为型模式: - 责任链模式:使多个对象有机会处理请求,从而避免请求...

    《Java设计模式》课程设计报告.docx

    《Java设计模式》课程设计报告主要探讨了如何利用Java编程语言和MyEclipse集成开发环境来实现基于设计模式的西瓜市场系统。这个项目涵盖了四种重要的设计模式:单例模式、代理模式、建造者模式和抽象工厂模式,为...

    《Java设计模式》刘伟 课后习题及模拟试题答案.rar

    《Java设计模式》是刘伟老师的一本经典教材,它深入浅出地讲解了软件设计中的重要概念——设计模式。设计模式是经验丰富的开发者在解决常见问题时总结出的通用解决方案,是软件开发中的智慧结晶。这本书的课后习题和...

    Java设计模式——代理设计模式(静态代理和动态代理)

    在Java编程中,设计模式是一种解决常见问题的模板或最佳实践,它可以帮助开发者编写更加灵活、可维护和可扩展的代码。代理设计模式是其中的一种,它的主要作用是在不修改原有对象的基础上,为对象添加额外的功能或者...

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

    ### Java设计模式之虚拟代理模式详解 #### 一、引言 在软件工程领域,设计模式作为一种被广泛接受的最佳实践,对于提高代码质量和可维护性起着至关重要的作用。其中,“代理模式”作为结构型设计模式之一,在解决...

    Java设计模式之禅

    《Java设计模式之禅》是一本深入浅出讲解设计模式的书籍,书中不仅包含23种经典设计模式的案例,还详细介绍了设计模式背后的思想和原则,适合初学者以及对设计模式有一定了解的程序员阅读。本书旨在帮助读者理解如何...

    java设计模式的应用

    ### Java设计模式的应用 #### 一、引言 在当今快速发展的软件开发领域,Java作为一门功能强大且灵活的语言,不仅拥有丰富的API资源,还能与强大的数据库系统无缝对接。这使得许多开发人员能够以模块化的形式构建...

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

    Java设计模式是软件开发中的一种重要思想,它总结了在解决特定问题时代码组织和复用的优秀实践。代理模式是这些模式中的一种,它的主要作用是在不改变原有对象行为的前提下,为对象添加额外的功能或者控制访问。在这...

    java设计模式程序源代码

    Java设计模式是软件工程中的一种最佳实践,它提供了一种在特定情况下解决常见问题的模板。这些模式在软件开发中被广泛使用,因为它们能够使代码更可读、可维护和可扩展。在这个名为"java设计模式程序源代码"的压缩包...

    java设计模式视频教程-代理模式.rar

    在这个“java设计模式视频教程-代理模式.rar”压缩包中,包含了一部关于代理模式的视频教程,以及相关的课件和示例代码。 代理模式的核心思想是通过代理类来代理原始对象,为原始对象提供一个替代品或占位符,以...

    Java 设计模式最佳实践:提供了一系列 Java 设计模式的最佳实践示例,帮助程序员在设计应用程序或系统时解决常见问题

    Java 设计模式是软件工程中的一种重要思想,它总结了在长期的软件开发实践中,针对特定问题反复出现的解决方案,并将其抽象成可复用的设计模式。这些模式为开发者提供了通用的语言,使得团队间的沟通更为高效,同时...

    23种java设计模式.pdf

    " JAVA 设计模式概述" JAVA 设计模式是指在软件设计过程中,为了提高代码的可维护性、灵活性和可扩展性所使用的一些惯用解决方案。JAVA 设计模式可以分为三种:创建模式、结构模式和行为模式。 1. 创建模式 创建...

    《java设计模式》课后习题模拟试题解答——刘伟.zip

    Java设计模式是软件工程中的一种最佳实践,它总结了在特定场景下解决常见问题的经验,为程序员提供了可重用的解决方案。本资料“《java设计模式》课后习题模拟试题解答——刘伟.zip”主要涵盖了Java设计模式的学习与...

    java经典设计模式

    Java设计模式是软件开发中的重要概念,它是一种在特定情境下解决常见问题的模板或蓝图。这些模式在软件工程中被广泛使用,因为它们代表了最佳实践,可以帮助开发者编写更可维护、可扩展和可复用的代码。下面将详细...

    java之23种设计模式完整代码

    这里我们探讨的“Java之23种设计模式完整代码”是一份宝贵的资源,它包含了所有23种经典设计模式的实现示例。这份资料能够帮助开发者深入理解每种设计模式的概念、应用场景以及它们之间的差异。 设计模式是经过时间...

    JAVA设计模式(代理模式)

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

    23种JAVA设计模式和15种J2EE设计模式

    以下是23种Java设计模式和15种J2EE设计模式的概述: **Java设计模式** 1. **单例模式**:确保一个类只有一个实例,并提供全局访问点。例如,`Singleton`模式常用于配置中心或日志服务。 2. **工厂模式**:提供...

Global site tag (gtag.js) - Google Analytics