代理(Proxy)模式简介
2015-03-21 00:55
225 查看
一、代理(Proxy)模式简介
代理模式是结构型模式。代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。
代理对象要继承于抽象主题,并控制原对象的引用
二、简单例子
抽象主题类package proxy; /* * 抽象主题 */ public abstract class Subject { /* * 请求方法 */ abstract public void Request(); }
真实主题类,继承抽象
package proxy; /* * 真实主题 */ public class RealSubject extends Subject { @Override public void Request() { System.out.println("真实主题实现请求!"); } }
代理主题
package proxy; /* * 代理主题 */ public class ProxySubject extends Subject { private RealSubject realSubject; @Override public void Request() { //请求前代理主题自己的操作 preRequest(); //判断是否为空 if(realSubject==null){ //实例化 realSubject=new RealSubject(); } //调用真实主题的响应方法 realSubject.Request(); //请求后代理主题自己的操作 postRequest(); } private void preRequest(){ System.out.println("请求前代理主题自己的操作!"); } private void postRequest(){ System.out.println("请求后代理主题自己的操作!"); } }
测试类
package proxy; /* * 代理主题测试类 */ public class Test { public static void main(String[] args) { //声明抽象主题,并实例化为代理主题 Subject subject=new ProxySubject(); //调用代理主题的响应方法 subject.Request(); } }
结果:
请求前代理主题自己的操作! 真实主题实现请求! 请求后代理主题自己的操作!
相关文章推荐
- 代理(Proxy)模式简介
- 代理模式【Proxy Pattern 】
- 代理(Proxy)模式 vs. 代理(Agency)机构
- 设计模式之Proxy(代理)
- 代理 proxy 设计模式
- 结构型模式-----代理模式(Proxy)
- C# 设计模式-代理(Proxy)
- 设计模式 (九)代理模式(Proxy)
- 代理模式 The Proxy Pattern
- (Proxy)代理模式的Java实现
- 简介:代理模式、代码块存放路径
- 设计模式——代理模式(Proxy Pattern)
- Java设计模式——Proxy(代理)模式
- 代理模式 -- Proxy -- 结构型模式
- 设计模式 - Proxy模式(代理模式)
- 跟着Android学设计模式:代理(proxy)
- 设计模式实践(三)代理模式(Proxy)
- 代理模式(Proxy)一 静态代理
- 慢啃设计模式:代理模式Proxy
- 装饰模式(Decorator)与代理模式(Proxy)的区别与联系