zoukankan      html  css  js  c++  java
  • 代理设计模式

    代理设计模式:Proxy Pattern。在真实对象与客户端对象之间加入一层中阶层,由这一

    层中介来完成对真实对象的引用。

    优点:可以让程序的业务逻辑更加清晰。客户端对象不需要了解真实对象的细节,所有

    的调用均由代理来完成。扩展性更高。代理保护了真实对象。

    常用的场景:

    1. 远程代理:为一个位于不同的位置的对象提供一个本地对象的代理。

    2. 虚拟代理:当需要创建一个开销较大的对象时,先创建一个较小的对象,当真的需要使用这个对象时再真正的创建它。

    3. 保护代理:当需要对一个对象根据不同的权限级别来进行控制的时候使用。

    4. 智能指针:如java中的智能指针。

    5. Copy-on-Write:虚拟代理的一种具体实现,延迟复制操作,只有当用户真正需要使用的时候再进行操作。这样可以减少消耗。

    以下是一个实例,问题描述:

    image

    代码如下

    class test

    {

    public static void main(String args[])

    {

    supermarket s=new supermarket();

    user u=new user(s);

    u.show();

    }

    }

    class goods

    {

    String name="goods";

    }

    class supermarket extends goods

    {

    factory goo;

    supermarket()

    {

    goo=new factory();

    }

    void show()

    {

    goo.show();

    }

    }

    class factory extends goods

    {

    void show()

    {

    System.out.println("factory");

    }

    }

    class user

    {

    supermarket goo;

    user(supermarket g)

    {

    goo=g;

    }

    void show()

    {

    goo.show();

    }

    }

    image

    联系我:renhanlinbsl@163.com

    2016-8-1

    20:24

  • 相关阅读:
    Linux的命令技巧
    MAC地址表、ARP缓存表以及路由表
    边缘触发(Edge Trigger)和条件触发(Level Trigger)
    vue-router跳转页面
    正则表达式(简单易懂篇)
    Markdown快速使用指南
    WEB前端资源集(二)
    WEB前端资源集(一)
    js判断移动端与pc端
    js原声快速实现选项卡
  • 原文地址:https://www.cnblogs.com/ives/p/proxy_pattern.html
Copyright © 2011-2022 走看看