设计模式之结构型-代理模式(8)

来源:互联网 发布:海康网络高清摄像机 编辑:程序博客网 时间:2024/06/17 11:42

今天介绍代理模式
代理模式定义:为其他对象提供一种代理控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。
下面我们看一下UML类图这里写图片描述

public interface Subject {    void method();}
public class RealSubject implements Subject {    @Override    public void method() {        ;    }}
public class RealSubject implements Subject {    @Override    public void method() {        ;    }}
public class Text  {    public static void main(String[] args) {        Proxy proxy=new Proxy();        proxy.method();    }}

上面即是一个简单的代理模式。
我们可以发现代理模式和装饰模式有些相似,不同点是装饰模式不改变接口的情况下动态拓展功能,代理模式是控制对象的访问,因此,当我们使用代理模式的时候,往往在一个代理类中创建一个对象的实例,当装饰模式的时候,通常的做法是将原始对象作为一个参数传递给装饰器的构造器。
本质上,装饰器模式应当为所装饰的对象提供增强功能,而代理模式对所代理对象的使用施加控制,并不提供对象本身的增强功能。

原创粉丝点击