`
dominic6988
  • 浏览: 5671 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

设计模式之 - Bridge模式

阅读更多

 Bridge 模式是模式里面最难理解同时也是功能非常强大的一个模式, 下面我们就来谈一谈它的核心思想适用场合欢迎有兴趣的同行一起探讨补充。

 

设计模式一书中原话描述这一模式: 将抽象与其实现解耦,使它们可以独立的适应变化。

 

Bridge 模式要解决的问题是: 当一个抽象有不同实现的时候,它可以使抽象和实现相互独立的进行变化。

 

适用场合: 对业务逻辑进行分析找到变化的部分放在各自的抽象类中,在分析这些抽象类之间的关系,使其能够做到相互独立的类中包含变化,从而使未来发生变化的部分很小程度的或者不影响当前的代码。

 

简单理解该模式由一个抽象(包括其派生类)和一个实现组成。

 

 

看一个具体一点的例子:

 

比如说常见的画图实现

 

 

 

 

public abstract class Shape {
	
	protected AbstractDrawing myDrawing;
	
	abstract public void draw();
	
	Shape(AbstractDrawing drawing)
	{
		this.myDrawing = drawing;
	}
	
	protected void drawLine(double x1, double y1, double x2, double y2)
	{
		myDrawing.drawLine(x1, y1, x2, y2);
	}
	
	protected void drawCircle(double x, double y, double r)
	{
		myDrawing.drawCircle(x, y, r);
	}

}

 

public abstract class AbstractDrawing {
	abstract public void drawLine(double x1, double y1, double x2, double y2);
	abstract public void drawCircle(double x, double y, double r);
}

 

 

 

  • 大小: 6.7 KB
  • 大小: 52.6 KB
分享到:
评论
20 楼 wkcgy 2011-06-28  
http://www.jdon.com/designpatterns/bridge.htm讲的挺清楚的!bridge不仅对对象做了抽象而且还对对象的行为做了抽象!
19 楼 qyongkang 2011-06-28  
这个。。。。需要细化,太糊里糊涂了
18 楼 yaofaye 2011-06-24  
红叉叉 啊 红叉叉
17 楼 ocaicai 2011-06-23  
zean 写道
楼主发完贴就拆桥了。
不过我觉得抽象工厂比桥模式更难理解。


我的设计模式学习就是从工厂以及抽象工厂开始的,感觉还好吧!
16 楼 dominic6988 2011-06-23  
<div class="quote_title">aninfeel 写道</div>
<div class="quote_div">在不知不觉中大量使用过,但是当面试时被问起什么是设计模式时,或者与同事争吵时,还是要懂点理论的。</div>
<p> </p>
<p> 我是觉得设计模式真的是很好的实践,问题是我们遇到现实的问题时(假如让你来设计一个系统)能否恰当的去使用设计模式,好多事情都是纸上得来终觉浅绝知此事要躬行啊。</p>
<p>知道不一定会用,会用不一定能用好,不是做一次两个就能达到这个境界的,比如像炒股我不知道兄弟你是不是炒股,都知道在很低的时候进去在很高的时候出来,可是真正做到的有吗?很少的,上次听一个投资大师讲他也说要做到"高抛低吸"这理论谁不懂啊。</p>
15 楼 aninfeel 2011-06-23  
在不知不觉中大量使用过,但是当面试时被问起什么是设计模式时,或者与同事争吵时,还是要懂点理论的。
14 楼 dominic6988 2011-06-23  
<div class="quote_title">yunchow 写道</div>
<div class="quote_div">说实话,楼主讲的不是很清楚,应该有一大部分人看不太明白 <br><br>桥接最大的好处是可以防止类膨胀的,并且能更好的复用,增加后期的可维护性。。。。 <br><br>这些楼主没表达出来</div>
<p> </p>
<p> 补充的不错,这点是没有讲出来。</p>
13 楼 dominic6988 2011-06-23  
把图补上了
12 楼 dominic6988 2011-06-23  
<div class="quote_title">zean 写道</div>
<div class="quote_div">楼主发完贴就拆桥了。 <br>不过我觉得抽象工厂比桥模式更难理解。</div>
<p> </p>
<p>抽象工厂模式主要用于一系列关联的对像创建,且隐藏了创建细节。像Spring里面的IOC创建对像的时候用到了抽象工厂模式</p>
11 楼 dominic6988 2011-06-23  
云中苍月 写道
可以把《解析设计模式》上面的段落直接引用过来。

是设计模式解析上面的,不过我是看的书,不能直接复制。上面的是看完书的理解
10 楼 云中苍月 2011-06-23  
可以把《解析设计模式》上面的段落直接引用过来。
9 楼 yunchow 2011-06-23  
说实话,楼主讲的不是很清楚,应该有一大部分人看不太明白

桥接最大的好处是可以防止类膨胀的,并且能更好的复用,增加后期的可维护性。。。。

这些楼主没表达出来
8 楼 niu396212866 2011-06-23  
确实看不到图,不过应该不是很难理解吧
7 楼 nplw668 2011-06-23  
呵呵,看不到图,楼主的桥 不合格呀
6 楼 zean 2011-06-22  
楼主发完贴就拆桥了。
不过我觉得抽象工厂比桥模式更难理解。
5 楼 KimHo 2011-06-22  
LZ头像没挂
4 楼 terra_yuan 2011-06-22  
这是传说的桥接吗
3 楼 hi31sunny 2011-06-22  
是看不到图
2 楼 dominic6988 2011-06-22  
seagod.wong 写道
图全挂了。··

不会吧,看不到图吗?我自己看都能看到的啊。
1 楼 seagod.wong 2011-06-22  
图全挂了。··

相关推荐

    设计模式(16)-Bridge.pdf

    设计模式(16)-Bridge.pdf

    设计模式精解-GoF 23 种设计模式解析附 C++实现源码.pdf

    2.1 Bridge模式........................................................................................................................33 2.2 Adapter模式...................................................

    设计模式精解-GoF 23种设计模式解析

    设计模式精解-GoF 23 种设计模式解析附 C++实现源码 目 录 引 言 0.1 设计模式解析(总序) 0.2 设计模式解析后记 0.3 与作者联系 1 创建型模式 1.1 Factory模式 1.2 AbstactFactory模式 1.3 Singleton...

    C#设计模式-吕震宇

    设计模式(16)-Bridge Pattern 设计模式(15)-Facade Pattern 设计模式(14)-Flyweight Pattern C#设计模式(13)-Proxy Pattern C#设计模式(12)-Decorator Pattern C#设计模式(11)-Composite Pattern ...

    设计模式--C++

    1.1 什么是设计模式 2 1.2 Smalltalk MVC 中的设计模式 3 1.3 描述设计模式 4 1.4 设计模式的编目 5 1.5 组织编目 7 1.6 设计模式怎样解决设计问题 8 1.6.1 寻找合适的对象 8 1.6.2 决定对象的粒度 9 1.6.3 指定对象...

    设计模式精解-GoF 23种设计模式解析附C++实现源码.pdf

    2.1 Bridge模式........................................................................................................................26 2.2 Adapter模式..................................................

    设计模式面面观(10):桥接模式(Bridge Pattern)-结构型模式

    设计模式之我见(1):设计模式概述 (100%) 设计模式面面观(2):设计模式基本要素与原则 (100%) 设计模式面面观(3):单件模式(Singletion)-创建型模式 (100%) 设计模式面面观(4):工厂模式...

    设计模式精解-掌握设计模式

    本书从一个新的视角描述面向对象设计,将面向中对象编程的原则与运用设计模式力量创建健壮、可靠的软件开发环境结合起来。书中采用实用、恰当的例子,指导读者用模式解决普通的编程问题,并且解释现代软件设计模式的...

    设计模式解析-英文

    72 第8章 开拓视野 82 第9章 Strategy模式 98 第10章 Bridge模式 113 第11章 Abstract Factory模式 138 第12章 专家设计之道 154 第13章 用模式解决CAD/CAM问题 162 第五部分 迈向新的设计方式 第14章 设计模式的...

    JAVA设计模式chm文档

    设计模式之Bridge 设计模式之Flyweight(享元) 行为模式: 设计模式之Template 设计模式之Memento(备忘机制) 设计模式之Observer 设计模式之Chain of Responsibility(职责链) 设计模式之Command 设计模式之State 设计...

    设计模式--可复用面向对象软件的基础

    1.2 Smalltalk MVC中的设计模式 1.3 描述设计模式 1.4 设计模式的编目 1.5 组织编目 1.6 设计模式怎样解决设计问题 1.7 怎样选择设计模式 1.8 怎样使用设计模式 第二章 实例研究:设计一个文档编辑器 2.1 设计问题...

    设计模式之Bridge模式

    Bridge模式是对抽象和具体的进一步抽象。假设你有一个抽象类,一个具体类,现在需要将两者的变化都考虑进去,这就需要bridge。这是经典设计模式中唯一的可以同时处理抽象和具体同时变化的设计模式

    设计模式精解-GoF 23 种设计模式解析附 C++实现源码.rar

    2.1 Bridge模式........................................................................................................................33 2.2 Adapter模式..................................................

    36种最新设计模式整理

    36种最新设计模式整理 Design Pattern: Simple Factory 模式 Design Pattern: Abstract Factory 模式 Design Pattern: Builder 模式 Design Pattern: Factory Method 模式 Design Pattern: Prototype 模式 ...

    设计模式精解(GoF 23种设计解析附C++实现源码)

    2.1 Bridge模式........................................................................................................................26 2.2 Adapter模式...................................................

    设计模式C++学习之桥梁模式(Bridge)

    设计模式C++学习之桥梁模式(Bridge)

    head first 设计模式-设计模式必读

    至于第14章则很快地浏览尚未介绍的设计模式,包括Bridge、Builder、Chain of Responsibility、Flyweight、Interpreter、Mediator、Memento、Prototype,Visitor。第1章还介绍了四个○○基本概念(抽象、封装、继承、...

    设计模式Bridge学习

    针对设计模式中的 bridge 模式,做了一个小例子,希望对设计模式研究的朋友有所帮助。

    设计模式文档 chm

    设计模式之Bridge 设计模式之Flyweight(享元) 行为模式: 设计模式之Template 设计模式之Memento(备忘机制) 设计模式之Observer 设计模式之Chain of Responsibility(职责链) 设计模式之Command 设计模式之State 设计...

    软件设计模式 bridge模式 代理模式等

    软件设计模式,共包含二十多种模式,做IT的必备知识呀!

Global site tag (gtag.js) - Google Analytics