设计模式(七):桥接模式

2018-07-29  本文已影响0人  Java技术范

01.模式动机

    设想如果要绘制矩形、圆形、椭圆、正方形,我们至少需要4个形状类,但是如果绘制的图形需要具有不同的颜色,如红色、绿色、蓝色等,此时至少有如下两种设计方案:

    对于有两个变化维度(即两个变化的原因)的系统,采用方案二来进行设计系统中类的个数更少,且系统扩展更为方便。设计方案二即是桥接模式的应用。桥接模式将继承关系转换为关联关系,从而降低了类与类之间的耦合,减少了代码编写量。

02.模式定义

    桥接模式:将抽象的部分与它的实现部分分离,使用它们都可以独立第变化。它是一种对象结构型模式,又称为柄体模式或者接口模式。

03.模式结构

桥接模式包含如下角色:

04.时序图

05.代码示例

这里我们还是以我们经常使用的手机为例子:

手机的抽象类:

这里有两种手机

小米手机:

魅族手机:

对于抽象的扩展类:

现实生活中,我们有高通和联发科:

联发科

客户端的使用如下:

06.模式分析

    理解桥接模式,重点需要理解如何将抽象化(Abstraction)与实现化(Implementation)脱耦,使得二者可以独立地变化。

07.模式优点

桥接模式的优点:

08.模式缺点

桥接模式的缺点:

09.适用环境

在以下情况下可以使用桥接模式:

10.模式扩展

适配器模式与桥接模式的联用:

上一篇 下一篇

猜你喜欢

热点阅读