- 浏览: 26974 次
- 性别:
- 来自: 成都
最新评论
- 桥梁模式是将抽象化和实例化脱耦,使两者可以独立变化
- 我的理解,如果对于一个抽象接口,我们直接用具体的业务逻辑实现之,那么两者是密不可分的。一旦抽象接口发生变化,那么我们实现的具体业务逻辑也必须修改。对于系统设计而言,开始设立的抽象接口,是所有实现的本源,可以有多套实现。而一旦发现系统需要扩展,抽象接口需要改动,从而导致所有实现该接口的业务逻辑也需要对应修改。这与开放封闭原则背道而驰。此时,桥梁模式可以把抽象接口修改的影响控制在接口区。桥梁模式也被叫做接口模式。
- 桥梁模式包括:抽象化角色,修正抽象化角色,实现化角色,具体实现化角色。其中实现化角色和抽象化角色是桥梁模式的关键所在。在抽象化角色中,调用实现化角色定义的方法,(而具体的实现化角色实现实现化角色定义的方法,从而实现抽象化角色接口)。修正抽象化角色扩展抽象化角色方法,但是对具体的实现化角色并不发生影响。其中,实现化角色体现了桥梁的作用,使得抽象化和实例化的脱耦。
- 在Java库的API设计中,Component和ComponentPeer通过ToolKit联系,Component是Java代码,ComponenPeer是本地代码。Component是在调用peer的方法,但是对于Java程序员开发而言,这是透明的,我们仍然是对Component操作。Component就是抽象化角色,ComponentPeer就是实现化角色。
- 我的理解2,桥梁模式其实是解决系统的两个变化而生成的一种模式。一方面,抽象接口在变化,一方面,具体实现也在变化。要解决变化对系统带来的影响,我们引入桥梁模式。在桥梁模式下,抽象接口的变化和具体实现的变化几乎可以视作两个系统的变化。
- 我的理解3:原有的实现是具体实现实现抽象接口,是一个继承的关系。是紧耦合的。而桥梁模式是采用聚合的关系。桥梁模式可能是设计模式中集大成者。需要对系统设计有一定的造诣,才能完美应用之。
- 好的设计,系统的继承关系不超过2层。
- 八戒投胎,灵魂,天蓬元帅,肉体,猪头就是桥梁模式的一个应用
- 使用桥梁模式的场景:系统需要在构件的抽象化角色和具体化角色之间增加更多的灵活性,系统要求实现化角色的改变不影响客户端,一个构件有多余一个的抽象化和实现化角色,设计要求独立管理抽象化和实现化角色
发表评论
-
抽象工厂模式AbstractFactory
2009-04-09 22:23 683抽象工厂模式是对工厂方法模式的一个很大的扩充。 工厂方法模 ... -
多例模式Multiton
2009-04-09 22:22 758多例模式有多个实例 多例模式必须自己创建,管理自己的实例, ... -
单实例模式Singleton
2009-04-09 22:20 1266有且只能有一个实例,必须给其他角色提供该实例 推荐使用 避 ... -
合成模式Composite
2009-04-09 22:19 762合成模式的组成为:组件,树枝,树叶 其中组件接口是整个系统 ... -
建造模式Builder
2009-04-09 22:18 736完整的建造模式涉及如下四个角色:抽象建造者(接口),具体建造 ... -
装饰模式Decorator
2009-04-09 22:18 536装饰模式是逐层装饰, ... -
代理模式Proxy
2009-04-09 22:17 685在用户和真实对象之间加了一层保护,用户不直接操作真实对象,而 ... -
享元模式Flyweight
2009-04-09 22:16 793享元模式是对于某个对象的共享的模式,譬如String,对于相 ... -
门面模式Facade
2009-04-09 22:16 725门面模式应该应用在子系统和子系统之间。门面模式类似于适配器模 ... -
不变模式Immutable
2009-04-09 22:14 867不变模式只涉及一个类,分为弱不变模式和强不变模式。 弱不变 ... -
策略模式Strategy
2009-04-09 22:14 665策略模式是对算法的封装,把使用算法和算法本身分开。 策略模 ... -
模板方法TemplateMethod
2009-04-09 22:13 670模板方法有抽象模板和具体模板方法组成。抽象模板定义了一个或者 ... -
观察者模式Observer
2009-04-09 22:12 552观察者模式分为:抽象主题,抽象观察者,具体主题,具体观察者。 ... -
责任链模式Chain of Responsibility
2009-04-09 22:11 601责任链模式分为两个角色:抽象处理者,具体处理者。抽象处理者一 ... -
命令模式Command
2009-04-09 22:11 607命令模式把发出命令的责任和执行命令的责任分开,委派给不同的对 ... -
访问者模式Visitor
2009-04-09 22:10 780什么是访问者模式,就是我们通过JAVA的自动类型转换,实现多 ... -
解释器模式Interpreter
2009-04-09 22:09 703解释器模式是针对一些一再发生的问题的解决的一种模式。譬如浏览 ... -
调停者模式Mediator
2009-04-09 22:08 779调停者模式让我们思考一个系统怎样设计,如何设计才更好。调停者 ...
相关推荐
设计模式C++学习之桥梁模式(Bridge)
11、桥梁模式BRIDGE PATTERN 12、命令模式COMMAND PATTERN 13、装饰模式DECORATOR PATTERN 14、迭代器模式ITERATOR PATTERN 15、组合模式COMPOSITE PATTERN 16、观察者模式OBSERVER PATTERN 17、责任链模式 18、...
一、桥梁模式结构图 二、桥梁模式中主要角色 抽象化(Abstraction)角色:定义抽象类的接口并保存一个对实现化对象的引用。 修正抽象化(Refined Abstraction)角色:扩展抽象化角色,改变和修正父类对抽象化的定义...
本文实例讲述了PHP设计模式:桥连模式Bridge。分享给大家供大家参考,具体如下: 1. 概述 在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?如何利用面向...
策略模式【STRATEGY PATTERN】 ...桥梁模式【BRIDGE PATTERN】 命令模式【COMMAND PATTERN】 装饰模式【DECORATOR PATTERN】 迭代器模式【ITERATOR PATTERN】 组合模式【COMPOSITE PATTERN】 ......
六、 在什么情况下应当使用桥梁模式 158 设计模式(17)-Chain of Responsibility Pattern 158 一、 职责链(Chain of Responsibility)模式 160 二、 责任链模式的结构 160 三、 责任链模式的示意性源代码 160 四...
六、 在什么情况下应当使用桥梁模式 设计模式(17)-Chain of Responsibility Pattern 一、 职责链(Chain of Responsibility)模式 二、 责任链模式的结构 三、 责任链模式的示意性源代码 四、 纯的与不纯的...
如桥梁模式(Bridge Pattern) 定义:Decouple an abstraction from its implementation so that the two can vary independently.(将抽象和实现解耦,使得两者可以独立地变化。) ● Abstraction——抽象化角色 它...
com.javapatterns.bridge 桥梁模式 com.javapatterns.builder 建造者模式 com.javapatterns.carp 组合/聚合复用原则 com.javapatterns.chainofresp 责任链模式 com.javapatterns.chainofresp.scheduler 专题:...
第 11 章 桥梁模式【BRIDGE PATTERN】 97 第 12 章 命令模式【COMMAND PATTERN】 112 第 13 章 装饰模式【DECORATOR PATTERN】 126 第 14 章 迭代器模式【ITERATOR PATTERN】 137 第 15 章 ...
桥梁模式:将抽象化与实现化脱耦,使得二者可以独立的变化,也就是说将他们之间的强关 桥梁模式 联变成弱关联,也就是指在一个软件系统的抽象化和实现化之间使用组合/聚合关系而不是 继承关系,从而使两者可以独立的...
桥接示例马尔马拉大学 OOP 课堂作业 - 桥梁设计模式示例
桥梁Bridge 不变Immutable 策略Strategy 模版Template 观察者Observer 命令Command 备忘录Memento 状态State 访问者Visitor 解释器Interpreter 调停者Mediator Iterator 责任链Chain of Responsibility
家庭助理的环桥,暴露获取/设置位置模式。 Ring 令牌会自动刷新。 该桥接器可用于根据居民的自动存在检测自动设置环形定位模式,从而在家里启用混合传感器和全自动报警系统,例如以下内容。 安装 在 Home Assistant...
bridge)模式 桥梁模式是一个非常有用的模式,也是比较复杂的一个模式。熟悉这个模式对于理解面向对象的设计原则,包括"开-闭
该主题包含几个内容部分,具有悬停效果的响应式投资组合网格,整页投资组合项目模式,响应式时间表和有效PHP联系人表格。 预览 地位 下载及安装 要开始使用此模板,请选择以下选项之一以开始使用: 通过npm安装: ...
2.发送消息时不支持消息的回调,也就是说发布订阅模式,不支持同一条消息的反向通信 综上两个问题给开发造成了很多设计及代码量上的麻烦 利用window对象提供的以上方法,我们做一下简单的封装,能很好地解决以上两...
该存储库提供了Razer网络与其他分散网络之间的桥梁。 概要 入门 这些说明将为您提供在本地计算机上运行并运行的项目的副本,以进行开发和测试。 先决条件 您需要安装npm或yarn来构建此项目。 这是入门资源的链接。 ...