博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Bridge(桥接)模式
阅读量:2393 次
发布时间:2019-05-10

本文共 861 字,大约阅读时间需要 2 分钟。

Bridge模式 是 将分离部分与它的实现部分分离,使它们都可以独立的本地化
特点:1> 分离接口及其实现部分,这里实现 Abstraction 和 Implements 的分离,有助于降低对实现部分的依赖,从而产生更好的结构化系统
           2> 提高可充性,可以独立的对 Abstraction 和 Implements 层次结构进行扩充
意图:将一组实现部分从另一组使用它们的对象中分离出来
问题:一个抽象类的派生类必须使用多种实现部分,但又不能引起类数量的爆炸
解决方案:为所有的实现部分定义一个接口,让抽象类的所有派生类使用这个接口
参与者 与 写作者:Abstraction为正在实现的对象定义接口。Implementor为特定的实现部分类定义接口。Abstraction的派生类使用 Implementor 的派生类,而不必知道自己使用的特定 ConcreteImplementor
效果:实现部分与使用它的对象的分离,增加了灵活性,客户对象不需要了解实现问题。在被实现的抽象部分基类中包含一个实现部分积累的句柄
注:在Java中,你可以在实现部分使用接口来代替抽象类

Bridge 模式的标准简化视图
桥接模式 和 适配器模式
共同点:桥接和适配器都是让两个东西配合工作
不同点:出发点不同
适配器模式 :改变已有的两个接口,让他们相容
桥接模式:分离抽象化和实现,使两者的接口可以不同目的是分离
试用情况
1> 如果一个系统需要在构建的抽象化角色和具体话角色之间增加更多的灵活性,避免在两个层次之间建立静态的联系
2> 设置要求实现化角色的任何改变不应当影响客户端,或者说实现化角色的改变对客户端是完全透明的
3> 一个构建有多于一个的抽象化角色和实现化角色,系统需要它们之间进行动态耦合。虽然在系统中使用继承是没有问题的,但是由于抽象化角色和具体化角色需要对立变化,设计要求需要独立管理这两者。桥接模式是一个非常有用的模式,也非常复杂,它很好的符合了开放 ——封闭原则和优先使用对象,而不是继承这两个方面对象原则
你可能感兴趣的文章
RabbitMQ 消息可靠性、延时队列以及高可用集群
查看>>
分布式系统的可靠性指的是什么 —— 你可能从来就没有认真思考过
查看>>
布隆过滤器过时了,未来属于布谷鸟过滤器?
查看>>
面试题 —— 数字幻方
查看>>
5折抢购最后一天 | 戴尔顶级配置电脑,限时秒!
查看>>
SpringBoot 究竟是如何跑起来的?
查看>>
阿里开源限流组件 Sentinel 集群流控全解析
查看>>
深度解密HTTP通信细节
查看>>
日活亿级用户的服务器架构要怎么搭?
查看>>
MySQL 是怎样运行的:从根儿上理解 MySQL
查看>>
开源搜索技术的核心引擎 —— Lucene
查看>>
码洞技术文章大全
查看>>
RPC 服务器之【多进程描述符传递】高阶模型
查看>>
程序员年龄增大后的职业出路是什么?
查看>>
快学 Go 语言 第 1 课 —— Hello World
查看>>
《快学 Go 语言》第 4 课 —— 低调的数组
查看>>
作为程序员,你是如何在工作以后找到女朋友的?
查看>>
一种简单的Failover机制
查看>>
Channel最佳实践之基本规则【译】
查看>>
天下无难试之HTTP协议面试刁难大全
查看>>