美文网首页
(十一)代理模式

(十一)代理模式

作者: feiry | 来源:发表于2019-08-07 20:25 被阅读0次
水果代理

客户下单不需要知道水果从哪里来,只需要知道结果,不关心中间流程,那么当我们需要购买本地没有的水果时,就需要找代理

代理模式

代理模式

与装饰器模式有点相似,代理类需要实现订单接口,然后内部持有一个订单服务用来存储海外订单

//代理
public class ProxyOrder implements OrderService {

    //真实的订单服务
    private OrderService orderService = new OutOrderServiceImpl();

    @Override
    public int saveOrder() {
        System.out.println("开始海外下订单");
        return orderService.saveOrder();
    }
}
/**
 * 海外订单
 */
public class OutOrderServiceImpl implements OrderService {
    @Override
    public int saveOrder() {
        System.out.println("下单成功,订单号: 66666666");
        return 66666666;
    }
}
//调用代理
public static void saveOrder(){
        //本地代理类
        OrderService orderService = new ProxyOrder();

        orderService.saveOrder();

        //其它业务代码。。。。

    }

适用场景

需要封装原有功能并且可以增强原有功能的场景

总结

代理模式顾名思义就是另一个功能的代理,与装饰器模式思想不同的是,装饰器模式是为了不停地增强自己的功能,而代理模式内部是固定给一个第三方做代理,把功能甩给了第三方。

代理与装饰器对比

相关文章

  • (十一)代理模式

    客户下单不需要知道水果从哪里来,只需要知道结果,不关心中间流程,那么当我们需要购买本地没有的水果时,就需要找代理 ...

  • 设计模式(十一):代理模式

    01.模式动机 在某些情况下,一个客户不想或者不能直接引用一个对 象,此时可以通过一个称之为“代理”的第三者来实现...

  • 设计模式(十一):代理模式

    代理模式(Proxy)为其他对象提供一种代理以控制对这个对象的访问。 在某些情况下,一个客户不想或者不能直接引用另...

  • python设计模式(十一):代理模式模式

    代理模式的定义:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对...

  • 设计模式

    单例模式 模板方法模式 工厂模式 代理模式 静态代理 JDK动态代理

  • 设计模式

    单例模式 代理模式 静态代理 jdk动态代理 cglib动态代理 工厂模式 适配器模式 建造者模式 观察者模式

  • kube-proxy的3种模式

    userspace代理模式 iptables代理模式 IPVS代理模式 https://kubernetes.io...

  • 第4章 结构型模式-代理模式

    一、代理模式简介 二、代理模式3个角色 三、代理模式的优点 四、代理模式的实例(游戏代练)

  • 理解代理模式

    原创博客地址 简介 代理模式,也叫做委托模式,分为:静态代理动态代理 代理模式也是平时比较常用的设计模式之一,代理...

  • 结构型 代理模式(文末有项目连接)

    1:什么是代理模式 2:没用代理模式时的实例 3:使用代理模式将其解耦(静态代理) 3:使用代理模式将其解耦(动态...

网友评论

      本文标题:(十一)代理模式

      本文链接:https://www.haomeiwen.com/subject/eogadctx.html