`
deng816
  • 浏览: 6673 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

Java设计模式学习--代理模式

阅读更多

今天要写的是设计模式中的代理模式,这是一个很有用的模式

自己写的一个以影视明星为例子的代码如下:

MoveStar接口:

package com.dsl.proxy_pattern;
/**
 * 定义一个影视明星接口
 * @author EX-DENGSHENGLONG217
 *
 */
public interface MoveStar {
	public void ad();//明生基本都拍广告撒..
	
	public void film();//也能拍电影
}

 

接下来为两个实现类:

package com.dsl.proxy_pattern;
/**
 * 范冰冰明显就是一个影视明星,因此她有下列行为
 * @author EX-DENGSHENGLONG217
 *
 */
public class Fanbingbing implements MoveStar {

	@Override
	public void ad() {
		System.out.println("我能拍广告的!");
	}

	@Override
	public void film() {
		System.out.println("我演的电影 很好噢!");
	}

}

 

代理人类:

package com.dsl.proxy_pattern;
/**
 * 范冰冰太忙了 这是她的代理人 我们认为她也能下列行为
 * @author EX-DENGSHENGLONG217
 *
 */
public class ProxyFan implements MoveStar {
	private MoveStar moveStar;
	
	public ProxyFan(){
		this.moveStar=new Fanbingbing();//默认为范爷的代理人撒!
	}
	
	public ProxyFan(MoveStar moveStar){
		this.moveStar=moveStar;//同明她也可以是任何影星的代理人
	}
	@Override
	public void ad() {
		this.moveStar.ad();//自己是不能拍广告的了要明星拍的
	}

	@Override
	public void film() {
		this.moveStar.film();//同样
	}

}

 

影视制作人类:

package com.dsl.proxy_pattern;

public class MoveProducer {

	/**
	 * 影视制作人来请明星们拍广告了
	 * @param args
	 */
	public static void main(String[] args) {
		//哎!明星们太忙了啊,只有先请她们的代理人了
		ProxyFan  pf=new ProxyFan();//这样就是范冰冰的代理人
		pf.ad();
		pf.film();
		//end 嗯这里就是代理人帮明星们做的事了!
		//什么是代理模式呢?我很忙,忙的没空理你,那你要找我呢就先找我的代理人吧,那代理人总要知道
		//被代理人能做哪些事情不能做哪些事情吧,那就是两个人具备同一个接口,代理人虽然不能干活,但是被
		//代理的人能干活呀。
		/*说完这个故事,那额总结一下,代理模式主要使用了Java 的多态,干活的是被代理类,代理类主要是
接活,你让我干活,好,我交给幕后的类去干,你满意就成,那怎么知道被代理类能不能干呢?同根就成,
大家知根知底,你能做啥,我能做啥都清楚的很,同一个接口呗。*/
	}

}

 

7
5
分享到:
评论
9 楼 ssrc0604hx 2013-10-15  
如果可以讲一下主要的运行情况,就更好了


ps:看LZ的文字,是四川人?
8 楼 finallygo 2013-10-15  
代理模式重视行为的加强,具体代码上说就是修改 ProxyFan 的构造函数,参数是MoveStar ,另外 在代理的方法中添加一些其他的动作
7 楼 lcfred 2013-10-15  
通俗易懂,不错
6 楼 ileson 2013-10-15  
不错。。。
5 楼 devilyard 2013-10-15  
举的例子不错
4 楼 deng816 2013-10-14  
netkiller.github.com 写道
能融会贯通到工作中才行

谢谢!说的很对!
3 楼 netkiller.github.com 2013-10-14  
能融会贯通到工作中才行
2 楼 ys_sunshine 2013-10-14  
讲的非常通俗易懂啊~
1 楼 ys_sunshine 2013-10-14  
亲,你是范爷的粉丝吧~

相关推荐

    java设计模式---诙谐易懂版

    根据给定文件内容,以下是关于Java设计模式的知识点说明: 1. 策略模式(Strategy Pattern)是一种行为设计模式,允许在运行时选择算法的行为。策略模式的意图是定义一系列算法,将每个算法封装起来,并使它们可以...

    Java设计模式----通俗易懂版

    Java设计模式是软件工程中的一种重要思想,它总结了在解决特定问题时,程序员们反复使用的一些最佳实践和解决方案。这个资源"Java设计模式----通俗易懂版"显然是一个专门针对初学者或需要深入理解设计模式的开发者...

    JAVA设计模式例程-代理模式

    在这个"JAVA设计模式例程-代理模式"的压缩包中,我们可以深入学习如何在Java中实现这一模式。 1. **代理模式的基本概念** 代理模式的核心思想是为一个目标对象创建一个代理对象,代理对象在客户端和目标对象之间起...

    JAVA-设计模式-结构型模式-代理模式

    JAVA-设计模式-结构型模式-代理模式

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

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

    JAVA设计模式--程序设计--反射--注解--泛型

    Java设计模式、程序设计、反射、注解和泛型是Java开发中的核心概念,它们各自在不同的场景下发挥着重要作用,构建出高效、可维护的软件系统。 首先,Java设计模式是面向对象编程中的一种最佳实践,是解决常见问题的...

    JAVA设计模式---100%推荐

    这篇名为"JAVA设计模式---100%推荐"的资源,可能是对Java设计模式的深入解析,旨在帮助开发者更好地理解和应用这些模式。 设计模式通常分为三类:创建型、结构型和行为型。创建型模式涉及对象的实例化过程,如单例...

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

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

    JAVA设计模式 代码-图解

    ### JAVA设计模式 代码-图解 #### 1. 设计模式概述 设计模式是一种在特定情境下解决软件设计问题的通用解决方案。它们是经过验证的设计经验总结,可以帮助开发者更好地组织代码,提高软件的可维护性和扩展性。...

    java模式设计--代理模式

    代理模式是一种设计模式,它允许我们为一个对象创建一个代理对象,这个代理对象可以在不影响原始对象的情况下,控制或增强原始对象的行为。代理模式的核心在于,它提供了一个与真实主题(即原始对象)相同的接口,...

    Java设计模式-代理模式

    总结来说,Java设计模式中的代理模式提供了一种优雅的方式来控制对目标对象的访问,并扩展其功能。动态代理更是使得这一过程更加灵活,降低了代码的维护成本。通过学习和应用代理模式,开发者可以更好地设计和实现...

    java常用设计模式-代理模式

    Java 设计模式 - 代理模式 代理模式(Proxy Pattern)是一种常用的设计模式,提供了间接访问目标对象的一种方式,即通过代理对象访问目标对象。这样做的好处是,可以在不改变原有目标对象的基础上,对目标对象增加...

    JAVA设计模式-chm版

    这个“JAVA设计模式-chm版”资源显然包含了关于Java设计模式的详细信息,便于理解和应用。设计模式是对常见问题的解决方案的标准化描述,它们在软件工程中起到了重要的作用,帮助开发者创建可维护、可扩展且易于理解...

    Java设计模式-图解-附代码 .pdf

    ### Java设计模式详解 #### 1. 设计模式概述 设计模式是在软件设计过程中针对常见问题的可重复使用的解决方案。这些模式有助于解决软件设计中出现的常见问题,并提供了一种标准化的方法来解决问题,使得代码更加...

    《Java设计模式》课后答案-刘伟.rar

    《Java设计模式》是刘伟教授的一本关于设计模式的教材,主要面向高等学校的学生和对Java编程有深入兴趣的开发者。设计模式是软件工程中的一种重要思想,它封装了在特定场景下的问题解决方案,可以提高代码的可读性、...

    Java设计模式-图解-附代码

    ### Java设计模式详解 #### 一、概述 Java设计模式是一种在特定场景下解决软件设计问题的方法论。...通过这些模式的学习,可以加深对Java设计模式的理解,并在实际开发中灵活运用这些模式来解决问题。

    JAVA设计模式(java设计)

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

    java设计模式的应用

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

    java设计模式学习

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

    java设计模式-图解-附代码

    ### Java设计模式详解 #### 创建型模式 **1.1 工厂方法(Factory Method)** 工厂方法模式定义了一个创建对象的接口,但允许子类决定实例化哪一个类。这使得一个类的实例化可以被推迟到其子类。这种模式在以下...

Global site tag (gtag.js) - Google Analytics