在不改变 ‘被代理类’ 的情况下,通过引入 ‘代理类’ 来给被代理类 ’附加功能’

    常用于开发一些非功能性需求,如:监控、统计、鉴权、限流、事务、幂等、日志。将这些 ’附加功能’ 与业务功能解耦
    image.png

    通过代理对象,可保护被代理的对象,使其扩展不受外界的影响。

    解决系统之间的耦合度以及系统资源开销大的问题。

    JS 中,它的执行常常依托于浏览器,如:JS 事件代理就用到了代理模式。