`
123629996
  • 浏览: 294372 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

java设计模式之代理模式

阅读更多

这一节说说代理模式,我的代码的模拟场景是追MM,感兴趣吧,块看看吧。

想要追到MM,送东西啊,这是必须的,所有人都得这样吧,哈哈

package com.yjck.proxy;
/**
 * 追MM的方式:送东西
 */
public interface GiveGift {
	public void giveDolls();
	public void giveFlowers();
	public void giveChocolate();
}

 既然追的方式都确定了,那追求者赶紧上啊,还等什么呢?

package com.yjck.proxy;
/**
 * 真正的追求者
 */
public class Pursuit implements GiveGift {
	/**
	 * 追求者要干啥,当然要追MM了,所以就有MM
	 */
	MM mm = null;
	public Pursuit(MM mm){
		this.mm = mm;
	}

	public void giveChocolate() {
		System.out.println(this.mm.getName()+"送你巧克力");

	}

	public void giveDolls() {
		System.out.println(this.mm.getName()+"送你洋娃娃");

	}

	public void giveFlowers() {
		System.out.println(this.mm.getName()+"送你花");

	}

}

 

追求者都隆重登场了,我们的MM也该上场了

package com.yjck.proxy;

public class MM {
	/**
	 * MM的名字
	 */
	private String name;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
}

 

追求的方式已经确定,MM也出现了,可是追女孩的男孩比较腼腆,不好意啊,这可怎么办呢?急坏了追求者了,我们给他想想办法吧,哎,有了,让他找个哥们帮他去追吧,让他的哥们给MM说这东西是XXX送的,他想和你交个朋友。OK,这主意不错,马上实施。

package com.yjck.proxy;
/**
 * 代理者,中介,帮助真正的追求者实施追MM的活动
 */
public class Proxy implements GiveGift {
	/**
	 * 代理者干啥,当然是帮真正的追求者的实施了
	 */
	Pursuit gg;
	/**
	 * 代理者活动当然离不开真正追求者的目标了
	 */
	public Proxy(MM mm){
		gg = new Pursuit(mm);
	}
	public void giveChocolate() {
		gg.giveChocolate();

	}

	public void giveDolls() {
		gg.giveDolls();

	}

	public void giveFlowers() {
		gg.giveFlowers();

	}

}

 

万事俱备,start

package com.yjck.proxy;

public class Run {

	/**
	 * 代理模式客户端
	 */
	public static void main(String[] args) {
		MM mm = new MM();
		mm.setName("娇娇");
		Proxy daili = new Proxy(mm);
		daili.giveChocolate();
		daili.giveDolls();
		daili.giveFlowers();
	}

}

 

好了,经过曲线的方式,MM追到手了吧,娃哈哈!

分享到:
评论
11 楼 object_object 2010-12-17  
看懂了,就是这个男的找了个另外一个男的去追mm,所以做代理这个男的也针对是那女的...
10 楼 wjjxf 2010-12-17  
wumingshi 写道
proxy 的constructor有问题,应该传入被代理的gg,否则mm就追成自己的了。

9 楼 123629996 2010-12-17  
zcjjane 写道
居然是马士兵讲的东西,哎

马士兵将的是这个吗,我是看《大话设计模式》这本书上的。是马士兵看的这本书还是这本书看的是马士兵啊
8 楼 zcjjane 2010-12-17  
居然是马士兵讲的东西,哎
7 楼 sunofsummer 2010-12-17  
把MM构造方法扔给代理了 这哥感觉像张床啊 MM GG都有啊 要干嘛啊。
6 楼 j2eemail 2010-12-17  
上面说的太悲剧了啊
5 楼 alyouge 2010-12-17  
莫非都是看马士兵的教程的???
4 楼 gwpking8419 2010-12-17  
不知道LZ发这篇文章的目的是什么?是对代理模式蕴藏有更深的理解还是找下乐子?
3 楼 aabcc 2010-12-17  
代理追MM么

那command模式 是不是对MM 做各种command?
2 楼 wumingshi 2010-12-16  
proxy 的constructor有问题,应该传入被代理的gg,否则mm就追成自己的了。
1 楼 cectsky 2010-12-16  
接口GiveGift 我觉得改成PaoMM比较贴切

相关推荐

    Java设计模式之代理模式

    Java设计模式之代理模式 1.代理模式 1.1 静态代理 1.2 动态代理 1.3.代理模式使用原因和应用方面

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

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

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

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

    Java设计模式之代理模式[收集].pdf

    Java设计模式之代理模式[收集].pdf

    java 设计模式之代理模式(Proxy Pattern)实现代码及设计详解:动态代理模式、静态代理模式

    Java设计模式是软件开发中的重要概念,它提供了一套通用的解决方案模板,使得代码更加可复用、可扩展。在这些模式中,代理模式(Proxy Pattern)是一种常用的结构型设计模式,它允许我们为一个对象创建一个代理,该...

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

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

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

    在这个“Java设计模式-代理模式例子”中,我们将深入探讨代理模式的概念、实现方式以及它在实际开发中的应用。 代理模式的核心思想是为一个对象提供一个替身,这个替身即代理对象,代理对象控制对原对象的访问。在...

    JAVA设计模式(代理模式)

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

    浅谈JAVA设计模式之代理模式

    JAVA设计模式之代理模式 代理模式是结构型模式之一,它主要解决了直接访问对象时带来的问题,如对象创建开销很大、某些操作需要安全控制、需要进程外的访问等。代理模式的目的是提供一种代理,以控制对这个对象的...

    JAVA设计模式(java设计)

    Java设计模式是面向对象编程领域中的重要概念,它是一套被广泛接受并实践的解决软件设计问题的经验总结。设计模式并非具体的代码或库,而是一种在特定情境下为了解决常见问题而制定的通用解决方案的描述。它们描述了...

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

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

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

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

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

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

    java设计模式(刘伟)

    ### Java设计模式(刘伟) #### 一、引言 在《Java设计模式》这本书中,作者刘伟全面地介绍了24种经典的设计模式,并通过丰富的案例和代码示例进行了详细的解析。本书不仅适合初学者作为入门教材,也适合有一定...

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

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

    java设计模式ppt

    ### Java设计模式详解 在软件开发领域,设计模式是一种被广泛采用的解决方案,用来解决常见的设计问题。设计模式不仅能够帮助开发者写出可复用、可维护的代码,还能提高团队间的沟通效率。以下是对给定文件中提到的...

    JAVA设计模式chm文档

    设计模式之Proxy(代理) 设计模式之Adapter(适配器) 设计模式之Composite(组合) 设计模式之Decorator(油漆工) 设计模式之Bridge 设计模式之Flyweight(享元) 行为模式: 设计模式之Template 设计模式之Memento(备忘机制...

Global site tag (gtag.js) - Google Analytics