`
zhengjiong
  • 浏览: 72272 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

静态代理模式

    博客分类:
  • Java
阅读更多
代理模式一般涉及到的角色有:

抽象角色:声明真实对象和代理对象的共同接口

代理角色:代理对象角色内部含有对真实对象的引用,从而可以操作真实对象,同时代理对象提供与真实对象相同的接口以便在任何时刻都能代替真实对象。同时,代理对象可以在执行真实对象操作时,附加其他的操作,相当于对真实对象进行封装

真实角色:代理角色所代表的真实对象,是我们最终要引用的对象

package com.zj.exercise;

/**
 * 抽象角色:生命真实对象和代理对象的共同接口
 * @author zhengjiong
 * time:2011-9-21 下午11:06:49
 */
public interface AbstractSubject
{
	public void request();
}
 
package com.zj.exercise;
/**
 *  真实角色:代理角色所代表的真实对象,是我们最终要引用的对象
 * @author zhengjiong
 * time:2011-9-21 下午11:41:56
 */
public class RealSubject implements AbstractSubject
{
	@Override
	public void request()
	{
		System.out.println("RealSubject request()");
	}
	
}
 
package com.zj.exercise;

/**
 * 代理模式的代理角色
 * @author zhengjiong
 * time:2011-9-21 下午11:06:59
 */
public class ProxySubject implements AbstractSubject
{

	private RealSubject realSubject = new RealSubject();
	
	@Override
	public void request()
	{
		preRequest();
		
		realSubject.request();
		
		afterRequest();
	}
	
	private void preRequest(){
		System.out.println("preRequest()");
	}
	
	private void afterRequest(){
		System.out.println("afterRequest()");
	}
}
 
package com.zj.exercise;
//测试类
public class Test
{
	public static void main(String[] args)
	{
		AbstractSubject proxy = new ProxySubject();
		proxy.request();
	}
}
 
分享到:
评论

相关推荐

    优秀的设计模式示例-静态代理模式

    在这个例子中,"优秀的设计模式示例-静态代理模式"提供了实际项目中的代码实例,旨在帮助开发者更好地理解和应用静态代理模式。 静态代理模式的核心思想是通过代理类来代理原始对象(也称为真实对象或服务对象),...

    Java 静态代理模式

    Java静态代理模式是一种设计模式,它允许我们为一个对象提供一个代理,以便增强或扩展其功能,同时不改变原有对象的代码。在Java中,静态代理是通过在代理类中显式实现目标接口来实现的。下面将详细介绍静态代理模式...

    设计模式(八)之静态代理模式.zip

    静态代理模式是设计模式中的一种,它属于结构型模式,主要用来在不修改原有对象的基础上,通过一个代理对象来增强或扩展原对象的功能。在本篇文章中,我们将深入探讨静态代理模式的概念、工作原理以及其优缺点。 ##...

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

    下面是一个简单的静态代理模式示例: ```java public interface Service { void doSomething(); } public class RealService implements Service { @Override public void doSomething() { // 实现具体业务...

    JavaSE065静态代理模式深度剖析.docx

    在Java编程中,静态代理模式是一种设计模式,它允许我们在不修改原始对象代码的情况下,通过创建一个代理类来扩展或增强对象的功能。静态代理模式在Java SE中有着广泛的应用,特别是在需要控制对某个对象访问或者...

    Spring学习笔记(12)----静态代理模式分析演示

    在本篇Spring学习笔记中,我们将探讨静态代理模式在Spring框架中的应用与分析。静态代理是一种常见的设计模式,它在不修改目标类代码的情况下,通过代理类来扩展或增强目标类的功能。在Spring中,静态代理主要应用于...

    java静态代理、动态代理、装饰设计模式

    在Java编程中,代理模式是一种常见的设计模式,它允许我们为一个对象提供一个代理以控制对这个对象的访问。代理模式通常用于增加额外的功能或在访问原对象时进行额外的操作,比如日志记录、安全控制、性能统计等。...

    java 设计模式 静态代理模式

    //代理模式内部引用了真实角色 public void requst() { this.preRequest(); //在真实角色操作之前所附加的操作 if(null == realsubject) { realsubject = new ReallSubject(); } realsubject.requst(); // ...

    代理模式_静态代理.zip

    设计模式之代理模式_静态代理的一个java实现的demo。主类在Client中。仅代码实现,可供初学者参考使用

    spring+静态代理

    在本主题"spring+静态代理"中,我们将深入探讨如何利用Spring框架来实现静态代理模式,并通过接口回调的方式来增强代码的灵活性和可扩展性。 静态代理是一种设计模式,它允许我们在不修改原始对象(被代理对象)的...

    包含静态代理和动态代理demo代码

    以下是一个简单的静态代理模式的步骤: 1. 定义一个接口,如`Service`,其中声明了需要被代理的方法。 2. 创建真实类(Target)实现`Service`接口,实现具体业务逻辑。 3. 创建代理类(Proxy)同样实现`Service`...

    Spring模拟aop静态代理案例

    总结起来,这个案例旨在通过Spring AOP的静态代理模式,帮助开发者掌握如何在不改变原有业务逻辑的情况下,插入额外的行为,从而提升代码的灵活性和可扩展性。同时,理解和实践这个案例,也能加深对面向切面编程的...

    JAVA静态代理和动态代理

    以下是一个简单的静态代理模式示例: 1. 定义接口: ```java public interface Service { void doSomething(); } ``` 2. 实现目标对象: ```java public class RealService implements Service { @Override ...

    Java代理模式模板代码,包含动态代理与静态代理

    以下是一个简单的静态代理模式模板代码示例: ```java // 目标接口 public interface Target { void doSomething(); } // 目标类 public class RealTarget implements Target { @Override public void ...

    静态代理案例---线程买票

    在这个静态代理案例中,静态代理模式主要用于增加额外的功能,例如日志记录、权限验证等,而不会影响到核心业务逻辑(购票)。代理类将持有目标对象(售票员),并在调用目标对象方法时进行预处理和后处理。 总的来...

    PHP大牛线上培训班课-静态代理请求对象静态代理.zip

    6. **优缺点分析**:分析了静态代理模式的优点,如解耦、扩展性,以及可能的缺点,如代码量增加、可能导致类结构复杂化等。 7. **实例演示**:通过多个视频教程(如“容器中”、“静态代理_1”、“_2”等),详细...

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

    以下是一个简单的静态代理模式示例: ```java // 目标接口 interface Target { void doSomething(); } // 目标实现类 class RealTarget implements Target { @Override public void doSomething() { System....

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

    在Java编程中,设计模式是一种解决常见问题的模板或最佳实践,它可以帮助开发者编写更加灵活、可维护和可扩展的代码。代理设计模式是其中的一种,它的主要作用是在...在实际开发中,应根据项目需求选择合适的代理模式。

    静态代理及动态代理的劣迹摘要

    静态代理模式的优点显而易见,比如它能够在不修改目标对象代码的前提下,对功能进行扩展;同时,代理类和目标对象之间存在相同的接口,可以降低客户与目标对象之间的耦合度。但同样存在不足之处,静态代理要求代理类...

    代理模式(Proxy Pattern) 1. 概述 1.1 基本概念 1.2 为什么需要代理模式 1.3 代理模式的四个角色 2. 代理模式的类型 2.1 静态代理 2.2 JDK动态代理

    代理模式(Proxy Pattern) 1. 概述 1.1 基本概念 1.2 为什么需要代理模式 1.3 代理模式的四个角色 2. 代理模式的类型 2.1 静态代理 2.2 JDK动态代理 2.3 CGLIB动态代理 3. 代理模式的UML类图和基本实现 3.1 UML类图...

Global site tag (gtag.js) - Google Analytics