zoukankan      html  css  js  c++  java
  • 代理模式,装饰器模式,回调模式的区别

    回调模式: 底层方法不知道在使用过程中会添加什么逻辑,所以预留一个接口作为回调接口,调用的时候传递回调接口的实现来实现在调用方法上添加逻辑。

    回调模式与装饰模式,代理模式的不同在于回调模式预留接口方法,在调用的时候实现,装饰模式和代理模式是持有被装饰对象或被代理对象的。

    装饰模式:以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案;
    代理模式:给一个对象提供一个代理对象,并有代理对象来控制对原有对象的引用;


    装饰模式应该为所装饰的对象增强功能;代理模式对代理的对象施加控制,并不提供对象本身的增强功能

    二者的实现机制确实是一样的,可以看到他们的实例代码重复是很多的。但就语义上说,这两者的功能是相反的,模式的一个重要作用是简化其他程序员对你程序的理解,

    你在一个地方写装饰,大家就知道这是在增加功能,你写代理,大家就知道是在限制,

    虽然代码很可能相同,但如果你都叫他们装饰,别人会很迷惑的。

  • 相关阅读:
    SETI ACdream
    字符串野指针 百练2681
    mvc架构的简单登录系统,jsp
    servlet修改后无效,仍然还是修改之前的效果
    mysql安装,数据库连接
    the process android.process.acore has stopped或the process com.phone。。。。
    软件测试
    vim实用技巧
    ubuntu终端白屏的解决方法
    vim相关资料
  • 原文地址:https://www.cnblogs.com/yun965861480/p/7307251.html
Copyright © 2011-2022 走看看