设计模式Android开发Android知识

设计模式—代理模式

2016-06-06  本文已影响173人  HJXANDHMR

今天我们来学习一种结构型模式,代理模式(Proxy Pattern)。

模式定义

给某一个对象提供一个代理,并由代理对象控制对原对象的引用。

模式结构

代理模式包含如下角色:

**AbstractObject: ** 抽象角色
**ProxyObject: ** 代理角色
**RealObject: ** 真实角色

UML图

代码实现

AbstractObject.java

·``` bash
/**


### RealObject.java

``` bash
/**
 * 真实角色
 */
public class RealObject implements AbstractObject{

    @Override
    public void operation() {
        System.out.println("RealObject do SomeThing");
    }
}

ProxyObject.java

/**
 * 代理角色
 */
public class ProxyObject implements AbstractObject {

    private RealObject mRealObject =new RealObject();

    @Override
    public void operation() {
        System.out.println("Before operation");
        mRealObject.operation();
        System.out.println("After operation");
    }
}

测试类


public class MyClass {

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

运行结果

代理模式的优点

代理模式的缺点

参考
http://design-patterns.readthedocs.io/zh_CN/latest/structural_patterns/proxy.html

上一篇 下一篇

猜你喜欢

热点阅读