代理模式、桥接模式、中介者模式区别和联系

参考:https://www.phpmianshi.com/?id=134

联系

   

在现实生活中,如房屋中介、买房人、卖房人,房屋中介是一个中介,因为它担任买房人和卖房人之间的相同;

房屋中介也是一个代理,它在卖房人眼前是买房人的代理,在卖房人眼前是买房人的代理;

最后房屋中介也是一个桥接,用于连接买房人和卖房人。那这字面意思相似的三者到底有什么不同的应用场景。

 

代理模式

    场景

    1. 最常见的就是数据库中间件,他们代理了数据库的访问,访问一个集群跟访问一个单机数据库一样。

    2. 你想访问 Facebook 或者 Twitter ,如何绕过 GFW?找个代理网站

    3. php适合代理模式的__call()方法,当对象调用不存在 或者 受权限限制的方法时,__call()会被自动调用

    4. 生活中有很多实际的案例,比如说“代购”

 

    特点

    1. 一对一,这个代理只能代表一个对象;

    2. 只能代理一方,也就是 PB 是B的代理,A能够通过PB访问B,但是B不能通过PB访问A;

 

中介模式

    场景

    1、中国加入 WTO 之前是各个国家相互贸易,结构复杂,现在是各个国家通过 WTO 来互相贸易。

    2、机场调度系统。

    3、MVC 框架,其中C(控制器)就是 M(模型)和 V(视图)的中介者。

    

    特点

    1. 多对多,这些被管理的对象之间都可以通信,它们的业务关系应该是交织在一起的;

    2. A能够通过中介访问B,B也能够通过中介访问A;

    

桥接模式

    

    场景

 

    ​1、现需要提供大中小3种型号的画笔,能够绘制5种不同颜色,如果使用蜡笔,我们需要准备3*5=15支蜡笔,也就是说必须准备15个具体的蜡笔类。而如果使用毛笔的话,只需要3种型号的毛笔,外加5个颜料盒,用3+5=8个类就可以实现15支蜡笔的功能。

    ​2、小米不同型号手机使用不同的底层语音输出软件

    ​3、不同电脑可以连接不同的手机

    ​4、发送多种类型的消息(qq,email),每种消息都有不同的消息等级(普通消息,紧急消息等)

    

    特点

    

    1. 一对多的关系,一个类可以有很多其他属性;

    2. 桥接夸大不是对象之间的通信,而是拥有某些属性;

 

总结

    

1. 我们可以看出,中介者模式和代理模式比较相似,他俩夸大的是通信,桥接模式夸大的时候拥有属性;

    

2. 中介者模式是多对多通信,代理是一对一通信,桥接是一对多;

    

3. 代理是通信只能从一方到另外一方,中介者是双向都可以通信;

 

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值