代理模式

原文链接:https://www.bookstack.cn/read/android_interview/design-mode-Structural-Patterns-Proxy-Pattern.md

一、模式定义
代理模式(Proxy Pattern) :给某一个对象提供一个代 理,并由代理对象控制对原对象的引用。代理模式的英 文叫做Proxy或Surrogate,它是一种对象结构型模式。

二、模式结构
代理模式包含如下角色:

Subject: 抽象主题角色
Proxy: 代理主题角色
RealSubject: 真实主题角色
代理模式
四、模式的简单实现
抽象对象角色

public abstract class AbstractObject {
//操作
public abstract void operation();
}
目标对象角色

public class RealObject extends AbstractObject {
@Override
public void operation() {
//一些操作
System.out.println(“一些操作”);
}
}
代理对象角色

public class ProxyObject extends AbstractObject{
RealObject realObject = new RealObject();
@Override
public void operation() {
//调用目标对象之前可以做相关操作
System.out.println(“before”);
realObject.operation();
//调用目标对象之后可以做相关操作
System.out.println(“after”);
}
}
客户端

public class Client {
public static void main(String[] args) {
AbstractObject obj = new ProxyObject();
obj.operation();
}
}

上一篇:大话设计模式------简单工厂模式


下一篇:svn报错:“Previous operation has not finished; run 'cleanup' if it was interrupted“ 的解决方法