代理模式(proxy)白话就是一个人替另外一个人做一些事情。
代理模式所涉及的角色:
i)抽象主题角色:声明了真实主题与代理主题的共同接口。
ii)代理主题角色:包含了真实主题角色的引用,在将客户端的调用传递给真实主题角色之前或者之后调用某些
方法而不是直接把调用传递给真实主题角色。
iii)真实主题角色:定义了代理主题所代表的真实对象
例如:
Subject抽象类:abstract public class Subject{
abstract public void request();
}
RealSubject类: public class RealSubject extends Subject{
public void request(){
System.out.println("实现请求");
}
}
ProxySubject类:public class ProxySubject extends Subject{
//对真实主题的引用,用来操作真实主题
private RealSubject realSubject;
//请求前操作
public void preRequest(){
System.out.println("请求前操作");
}
//请求后操作
public void postRequest(){
System.out.println("请求后操作");
}
//实现请求方法
public void request(){
preRequest();
if(realSubject==null){realSubject = new RealSubject();}
realSubject.request();
postRequest();
}
}
客户端调用方式:Subject subject = new ProxySubject();
subject.request();
分享到:
相关推荐
设计模式--代理模式设计模式--代理模式设计模式--代理模式设计模式--代理模式设计模式--代理模式
设计模式专题之(六)代理模式---设计模式代理模式示例代码(python--c++)
设计模式10-代理模式、结构型模式大复习 设计模式11-行为模式-责任链、命令模式 设计模式12-解释器模式 设计模式13-迭代器模式 设计模式14-中介者模式、备忘录模式 设计模式15-观察者模式、状态模式 设计模式16-策略...
JAVA-设计模式-结构型模式-代理模式
动态代理设计模式-源码
设计模式-代理模式(讲解及其实现代码)
c++设计模式-结构型模式-代理模式,qt工程,c++源码,简单示例
ios平台下的代理模式设计实现,最简单的实现,重写了方法签名,信息派发,blog:http://blog.sina.com.cn/s/blog_161d504630102wwvp.html
java模式设计-代理模式之动态代理.ppt
1.1 什么是设计模式 2 1.2 Smalltalk MVC 中的设计模式 3 1.3 描述设计模式 4 1.4 设计模式的编目 5 1.5 组织编目 7 1.6 设计模式怎样解决设计问题 8 1.6.1 寻找合适的对象 8 1.6.2 决定对象的粒度 9 1.6.3 指定对象...
自己编写的设计模式示例,绝对不含伪代码,示例简单易懂 适合初学者学习使用
java常用设计模式-代理模式
java设计模式视频教程-代理模式, 深层了解java的设计模式
自己编写的代理设计模式,示例中的代码绝对没有使用伪代码,是开发的项目真实案例,简单易懂
Java 设计模式 代理模式介绍,含源码
代理模式JAVA源程,正在学设计模式的朋友可以看下。比较容易理解。
本系统使用Java代码实现,是设计模式的期末课程设计,共使用了5种设计模式,分别是**原型模式、单例模式、抽象工厂模式、代理模式、建造者模式。*,希望对各位有帮助
Java设计模式,代理模式,包含动态代理的Demo,具体的思想与实现有很多讲得很好的老师,我是看厉风行老师的视频学的,讲得不错,简单易懂
java 模式 设计 代理模式 ,动态代理跟反射机制的内容相关
结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、...