zoukankan      html  css  js  c++  java
  • [设计模式]静态代理

    一、概念解释

      静态代理,是一种设计模式(写代码的套路)。所谓静态,是指代码写死的,不可变的。所谓代理就是替别人干。比如,酒厂和酒水代理商,都是为了卖酒,酒厂批发给代理商(卖酒),代理商卖给酒鬼(卖酒)。

      那么问题来了,既然酒厂也能卖酒,为什么还要搞代理呢?搞这些套路有啥用?

    二、代理的优点

      酒厂从原料采购,到生产加工,再到产品销售,环节众多,如果全都让它自己搞,显然需要耗费很大的精力去管理,不如把他们拆分开,让专业的人做专业的事,自己定个批发价给代理商,至于他们怎么卖,那就是八仙过海各显神通了

      接下来将酒水代理的例子转换成代码,参考如下:

    public class StaticProxy {
        public static void main(String[] args) {
    
            Proxy proxy = new Proxy(new WineFactory());
            proxy.sell();
        }
    }
    
    interface ISell {
        void sell();
    }
    
    class WineFactory implements ISell {
    
        @Override
        public void sell() {
            System.out.println("卖酒。。。");
        }
    }
    
    class Proxy implements ISell {
    
        private WineFactory wineFactory;
    
        Proxy(WineFactory wineFactory) {
            this.wineFactory = wineFactory;
        }
    
        @Override
        public void sell() {
            //卖前加点业务
            System.out.println("代理商加价");
            wineFactory.sell();
            //卖后加点业务
            System.out.println("送个包装袋给包起来");
        }
    }

    输出结果:

    
    

    代理商加价
    卖酒。。。
    送个包装袋给包起来

  • 相关阅读:
    树莓派 配置 OMV 搭建 NAS(六) 多用户多权限共享文件夹
    树莓派 配置 OMV 搭建 NAS(五) 设置共享权限
    Windows10 切换用户访问共享
    唯一析因环
    实分析p78 两个解释
    群表示论置换矩阵
    欧几里得环
    立体角-高斯定理札记
    环同态p64推论
    泛函p121可分Hilbert空间都同构于l^2
  • 原文地址:https://www.cnblogs.com/zhengxl5566/p/10428720.html
Copyright © 2011-2022 走看看