代理模式,装饰器模式,桥接模式的区别

本文介绍了代理模式、装饰器模式和桥接模式的区别及其应用场景。代理模式主要用于控制访问,如远程代理、虚拟代理、Copy-on-Write代理、保护代理、缓冲代理、防火墙代理、同步化代理和智能引用代理。装饰器模式则用于动态添加职责,不改变原有对象的行为。桥接模式则关注于抽象和实现的分离,降低类之间的耦合。三种模式各有侧重,适用于不同的设计需求。
摘要由CSDN通过智能技术生成

代理模式和装饰器模式都持有RealObject(被代理的对象/被装饰的对象)

 

代理模式用于控制访问,即原本功能的执行与否取决于场景条件,对用户而言重要的是原本的功能

装饰器模式用于动态地添加职责,原本的功能必须执行,对用户而言重要的是添加的职责

桥接模式用于抽象和实现的分离,即从不同维度划分类的属性,以聚合的方式桥接,降低耦合。

与装饰器的区别在于装饰器是对 对象行为的扩展,对需求变化的适应,桥接是对 对象属性不同维度的抽象分离,对属性变化的适应。

e.g.装饰:牛奶可以加糖,加咖啡,等等;

CandyMilk(Milk)

桥接:饮料(牛奶,),添加剂(配方:糖:90%,辣椒:10%)

Milk.setAddition(new Addition(...));

摘自:http://design-patterns.readthedocs.io/zh_CN/latest/structural_patterns/decorator.html

代理模式适用场景

 

  • 远程(Remote)代理:为一个位于不同的地址空间的对象提供一个本地的代理对象,这个不    同的地址空间可以是在同一台主机中,也可是在另一台主机中,远程代理又叫做大使(Ambassador)。 e.g.RPC和CORBA pr
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值