设计模式解密(12)- 桥接模式

大学生就业培训,高中生培训,在职人员转行培训,企业团训

1、简介

定义:将抽象部分与实现部分分离,使它们都可以独立的变化。

主要解决:在多维可能会变化的情况下,用继承会造成类爆炸问题,扩展起来不灵活。

何时使用:实现系统可能有多个角度分类,每一种角度都可能变化。

如何解决:把这种多角度分类分离出来,让它们独立变化,减少它们之间耦合。

注意事项:对于两个独立变化的维度,使用桥接模式再适合不过了。

英文:bridge

类型:结构型

2、问题引入

在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?如何利用面向对象的技术来使得该类型能够轻松的沿着多个方向进行变化,而又不引入额外的复杂度?

先来试想一个情景(OA系统中的消息处理):

  消息类型:普通消息,加急消息,特急消息

  消息方式:系统内消息,手机短信,邮件

 

在不使用桥接模式的情况下(即:使用继承方式),首先我们想到的方案:为每一种消息方式都提供一套消息类型,或者为每一种消息类型都提供一套消息方式;

延伸阅读

学习是年轻人改变自己的最好方式-Java培训,做最负责任的教育,学习改变命运,软件学习,再就业,大学生如何就业,帮大学生找到好工作,lphotoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训学习是年轻人改变自己的最好方式