适用情况:当抽象本身有很复杂的层次结构(继承关系),如果你继续用“继承”来实现这些抽象的话,那每一种实现都要继承抽象层次结构中的每一个分支,同时当抽象层次分支增加时,你又要为新增的分支“继承”每一种不同的实现。所以你希望抽象与实现完全分开,他们都可以有自己的层次结构。同时实现之间的转换对系统来说是透明的。
解决方案:在顶层的抽象类中包含一个顶层实现类的引用。通过将功能委派给这个引用来实现抽象类的功能。在不同的实现之间切换时,只需要变更这个引用所指向的具体实现就行了。
类图:
GOF中的例子:
实际应用:其实很典型(完全符合定义类图的)的应用很少。Bridge模式可以看成将抽象与实现分离的另一种方式:组合(composite)而不继承。其实Bridge模式要比继承更灵活。实现类中的接口并不需要符合抽象类的接口,只要其提供的功能是抽象类需要的,抽象类(包括它的子类)可以通过实现类接口的组合调用实现。比较牵强的例子有AWT中的Componet都是通过ToolKit桥接到ComponentPeer实现的。但它并不典型,Compoent与ComponentPeer的层次结构是一一对应的。同样的一个并不典型的例子是JDBC中的API通过DriverManager桥接到具体的Driver实现,但JDBC对应的某个类其并没有复杂的子类结构,它只是被应用程序调用而已。
与其它设计模式的比较:TBD
- 大小: 25.6 KB
- 大小: 46.7 KB
分享到:
相关推荐
这里我们聚焦于C#语言中的设计模式学习笔记,涵盖了多种经典的设计模式,如合成模式、桥梁模式、装饰模式、享元模式、门面模式、命令模式、工厂方法、策略模式、代理模式以及状态模式。下面将对这些模式逐一进行详细...
以上就是压缩包中的设计模式学习笔记涉及到的主要内容。通过对这些模式的理解和应用,开发者可以更好地解决软件设计中的问题,提升软件的质量和可维护性。每种模式都有其适用场景,理解其背后的意图和应用场景是关键...
### 设计模式学习笔记 #### 一、简单工厂模式 (Simple Factory) **类图与描述:** 简单工厂模式的核心在于存在一个工厂类,这个工厂类能够根据不同的输入参数返回不同的对象实例。简单工厂模式并不涉及继承关系,...
在这个“设计模式之美”的学习笔记中,我们将探讨一些主要的设计模式,以及它们在实际开发中的应用。 首先,我们从创建型模式开始。这类模式主要用于对象的创建,如单例模式(Singleton)、工厂模式(Factory ...
"GoF 23种设计模式学习笔记" 是一个深入探讨这23个经典设计模式的资源,这些模式最初由Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides四位作者在1994年的著作《设计模式:可复用面向对象软件的基础》中...
### 设计模式学习笔记 #### 引言 设计模式(Design Patterns)是在软件设计领域内广泛应用的一种实践指南,它提供了一系列解决常见问题的方案。设计模式可以被理解为面向对象软件设计的经验总结,是对特定面向对象...
### 23种设计模式学习笔记 #### 一、软件设计模式的概念与意义 **概念:** 软件设计模式(Software Design Pattern),又称设计模式,是一套被广泛采用、经过整理和分类的代码设计经验总结。它针对软件设计过程中...
以下是一些在尚学堂300Java设计模式部分学习笔记中涉及的设计模式的知识点: 创建型模式: 创建型模式主要解决对象创建的问题,确保系统的灵活性和封装创建细节。学习笔记中提到了5种创建型模式: 1. 单例模式...
#### Bridge(桥接)模式 - **定义**:将抽象部分与它的实现部分分离,使它们都可以独立变化。 - **实现方式**:通过分离接口和实现,使得抽象和实现可以独立变化。 - **特点**: - 抽象和实现分离,提高可扩展性。...
桥接模式(Bridge Pattern)作为23种经典设计模式之一,是一种常用于处理对象层次结构的结构型设计模式,旨在通过将抽象和实现解耦来实现两者之间的独立变化,进而提升系统的可维护性和灵活性。本篇文章将深入探讨...
在《23个设计模式图解--学习笔记》中,我们探讨了这些模式,以便于理解和应用到实际开发中。以下是这23个设计模式的详细说明: 1. **工厂方法**(Factory Method):定义一个用于创建对象的接口,让子类决定实例化...
### HCIA学习笔记知识点梳理 #### 一、企业网络架构介绍 - **大型网络基本架构**:主要包括核心层(Core Layer)、汇聚层(Aggregation Layer)以及接入层(Access Layer)。 - **核心层**:负责高速数据转发,通常位于...
### 设计模式学习笔记知识点概览 #### 一、引言 设计模式是软件工程领域中一种非常重要的概念,它代表了一种最佳实践的方式,帮助开发者解决特定问题时能够更加高效、灵活。良葛格的《Design Pattern学习笔记》不仅...
总之,《JAVA与模式》读书笔记提供了一个学习和应用设计模式的宝贵资源,对于Java开发者来说,理解和掌握这些模式不仅能够提升编程技能,也能使他们能够设计出更高效、更易于维护的软件系统。通过不断的实践和探索,...
本笔记主要涵盖了多种经典的设计模式,以下是对这些模式的详细解释: 1. 单例模式(Singleton):确保一个类只有一个实例,并提供全局访问点。在Java中,通常通过双重检查锁定(Double-Check Locking)或静态内部类...
通过阅读这份笔记,读者不仅可以学习到设计模式的基本概念,还能了解到如何在Java环境中实际运用这些模式,提升编程技能。设计模式的学习和掌握是成为一名优秀程序员的必经之路,它们能帮助我们写出更高效、更灵活、...
2. 结构型模式:包括适配器模式(Adapter)、桥接模式(Bridge)、装饰模式(Decorator)、组合模式(Composite)、外观模式(Facade)、享元模式(Flyweight)和代理模式(Proxy)。它们处理对象之间的关系,如组合...
文档中的“23种设计模式学习笔记.doc”可能包含了对这23种模式的详细解释和实例,而“设计模式之我爱我家.doc”可能从一个更生活化的角度来阐述设计模式的概念。“软件23种设计模式,超级经典的.pdf”可能是对这些...
"非常详细的Docker学习笔记" Docker是开源的容器虚拟化平台,主要由两个部分组成:Docker和Docker Hub。Docker是一个容器虚拟化平台,Docker Hub是一个用于分享、管理Docker容器的SaaS平台。Docker使用客户端-...