`
阅读更多

    思考了好一阵,总是没有一个合适的答案,感觉没有办法继续往下写了....

    先展示一下Bridge设计模式的目的就是:将抽象与其实现解耦,使它们可以独立的适应变化,这是在Gof中的描述(很是通用,但是没有感觉....)

     老实说,教材中的例子比较抽象啊,不是很容易理解,但是讲解还算可以,毕竟是外文啊,参考了一些博客内容,感觉这个讲解比较集中,好理解。

     桥梁模式的用意是将问题的抽象和实现分离开来实现,通过用聚合代替继承来解决子类爆炸性增长的问题。
比如我们有一个画图程序 有2个图形(Circle Rectangle )和2种画图方法(Drawing1 Drawing2)
图形可能会使用Drawing1来画图 也可能使用Drawing2来画图
在这个画图程序中有两个可变因素 一个是图形的种类 有可能会增加新的图形 另一个是画图方法 可能会有Drawing3出现
当系统有两个可变因素时 我就应该考虑到桥梁模式,至少它应该在你的脑子里闪过

在面向对象设计中有两条重要原则
1.找出变化并封装之
2.优先使用聚合而不是继承


这两条将在桥梁模式中得到完美体现


具体的例子看上面这个链接、教材、和这个链接 就够了!实际的应用中用到了,再做补充!仔细想来,这个算作connecting different types 的模式是很准确的,它就像是两个Strategy模式拼凑而成,从一端变化转化为两端都在变化,相同点是遵循了面向接口编程+接口的开闭原则!


分享到:
评论

相关推荐

    Blue-Bridge-Cup-单片机

    2.g-10 to g-14 此为蓝桥杯单片机国赛真题实现 3.s-10 to s-14-1 此为蓝桥杯单片机省赛真题实现 4.zero-超级缝合怪 此为所有模块核心代码文件,用于背诵 5.考试用 此为考试模板,由真题写法提取出! 注意: ...

    PCI Express to PCI Bridge Specification,rev1.0

    文档由PCI-SIG(Peripheral Component Interconnect Special Interest Group)发布,并于2003年7月14日首次发布。 #### 主要内容 1. **文档目的**:该规格旨在提供一种机制,使得基于PCI Express的新一代硬件可以...

    基于C语言的homekit-bridge设计源码,实现任意设备接入Apple HomeKit

    本项目为基于C语言的homekit-bridge设计源码,包含202个文件,其中包含71个Lua脚本文件、56个C源文件、41个头文件、14个文本文件、6个CMake构建脚本、3个YAML配置文件、3个Markdown文件、2个Git忽略文件、1个Git子...

    hypixel-discord-chat-bridge:Hypixel公会聊天和Discord之间的双向聊天桥梁

    表中的内容使用NodeJS安装 先决条件吉特NodeJS> = 14 纱线> = 1.2 我的世界帐户 设定指南首先,使用以下命令克隆存储库: git clone https://github.com/Senither/hypixel-discord-chat-bridge.git 接下来进入...

    ojdbc14-10.2.0.4

    Oracle JDBC驱动分为四种类型: Thin、OCI、JDBC-ODBC Bridge 和 Native SQL。其中,ojdbc14 属于 Thin 驱动,它是一种纯Java实现,无需Oracle客户端库,因此具有良好的跨平台性。这种驱动直接通过网络与数据库...

    oracle数据驱动包:ojdbc14-10.2.0.3.0.jar

    2. ** JDBC-ODBC Bridge (Type 2)**:这种驱动是 JDBC 和 ODBC 的桥梁,依赖于本地的 ODBC 驱动来连接 Oracle 数据库。由于其依赖性,它在现代应用中已较少使用。 3. ** Shared Library Driver (Type 3)**:这种驱动...

    ojdbc14-10.2.0.2.0.jar

    3. ** JDBC-ODBC Bridge**:这是一种桥接驱动,允许Java应用通过ODBC接口访问任何支持ODBC的数据库,包括Oracle。 4. ** Native SQL Net Driver**:类似于Shared Server Mode Driver,但使用了TCP/IP协议,而不是...

    oracle jdbc驱动 ojdbc14-10.2.0.4.0.jar工具

    3. **Type 3 ( Multi-Protocol Adapter or JDBC-ODBC Bridge)**:这是一个间接的方式,通过JDBC-ODBC桥接器将Java应用连接到任何ODBC兼容的数据库,包括Oracle。 4. **Type 4 ( Native Network Protocol Pure Java ...

    WindowsAccessBridge-64.dll 函数说明

    14. **IMAGEHLP.DLL**:图像处理帮助程序。 15. **IMM32.DLL**:输入方法编辑器。 16. **KERNEL.APPCORE.DLL**:内核应用程序核心。 17. **KERNEL32.DLL**:基本系统功能。 18. **KERNELBASE.DLL**:内核基础库。 19...

    jdbc所需jar包.7z

    **ojdbc14.jar** 是Oracle数据库的JDBC驱动包,适用于Java 1.4及更高版本。它实现了JDBC接口,使得Java应用程序能够与Oracle数据库建立连接,执行SQL查询,处理结果集等。 **commons-dbcp.jar** 是Apache Commons...

    platform-tools_r14-linux.zip

    核心组件之一是ADB(Android Debug Bridge),一个强大的命令行工具,允许开发者通过USB或网络连接在计算机与Android设备之间进行通信。ADB可用来安装、卸载应用,查看设备状态,甚至执行远程 shell 命令,极大地...

    i2s-test-bridge:桌面系统的I2S测试桥

    适用于台式机系统的I2S测试桥 蓝牙控制器历来通过PCM / I2S采访提供SCO数据。... 14 D11 橘子 I2S配置: 奴隶 飞利浦I2S 8赫兹 16位 UART配置: 230400波特(足以用于1通道,8 kHz,16位= 128

    ojdbc14-10.2.0.4.0.zip

    Oracle JDBC驱动程序是Oracle数据库与Java应用程序之间通信的桥梁,ojdbc14-10.2.0.4.0.zip是一个包含Oracle JDBC驱动程序的压缩包,主要用于Java开发人员在他们的应用中连接到Oracle数据库10g版本。这个特定的版本...

    ojdbc14-oracle-java驱动

    2. ** JAR File Driver (JDBC-ODBC Bridge):** 这种驱动是Java到ODBC桥接器,依赖于本地ODBC驱动来连接Oracle数据库。它适用于已经配置了ODBC数据源的情况。 3. ** Native Protocol Driver (ocijdbc):** 这个驱动...

    CX25820-1 PCI-Express Media Bridge.pdf )

    此外,总功耗(Total Power)的典型值和最大值在表14中也被修正。 5. **文档的免责声明**:文档明确指出所提供的信息仅供参考,Conexant不保证文档中信息的准确性,也未对文档内容提供任何形式的担保。用户在使用...

    Wireless Communications - Andrea Goldsmith

    ### 无线通信基础知识点概述 #### 一、无线通信概览 ##### 1.1 无线通信的历史 无线通信的历史可以追溯到19世纪末,随着马可尼等人的研究,无线电波的成功发送标志着无线通信时代的开端。从早期的无线电报技术到...

    oracle jdbc驱动 ojdbc14-10.2.0.4.0.jar

    3. ** JDBC-ODBC Bridge (Type 2)**:这种驱动通过ODBC桥接器将JDBC调用转换为ODBC调用,适用于已存在ODBC驱动的应用。 4. ** Native Protocol (Type 2)**:此驱动使用本地协议与数据库通信,需要安装客户端库。 ...

    Android tools_r14-windows

    这个版本号"r14"指的是该工具集的第14个修订版,通常每个修订版都会包含性能优化、新功能或者对现有工具的改进。 在Android开发过程中,`tools`目录是核心组成部分,它提供了以下关键工具: 1. **SDK Manager**: ...

    spring4.3.0lib

    4\spring-bridge-2.3.0-b10.jar 5\spring-context-4.3.0.RELEASE.jar 6\spring-context-support-4.3.0.RELEASE.jar 7\spring-core-4.3.0.RELEASE.jar 8\spring-expression-4.3.0.RELEASE.jar 9\spring-integration-...

    android-platform-14

    7. **开发者工具**: 在SDK层面,Android 4.0提供了更强大的开发者工具,例如改进的Android Debug Bridge (ADB),支持更好的内存分析和性能监控,以及改进的布局视图(Layout Inspector)等,帮助开发者调试和优化...

Global site tag (gtag.js) - Google Analytics