笔记本|优秀程序员必会的设计模式之——桥接模式


笔记本|优秀程序员必会的设计模式之——桥接模式
文章图片
笔记本|优秀程序员必会的设计模式之——桥接模式
文章图片
笔记本|优秀程序员必会的设计模式之——桥接模式
文章图片
笔记本|优秀程序员必会的设计模式之——桥接模式
文章图片
聊聊闲话说说闲话 , 可以选择性地跳过 。
后知后觉的我才发现 , 夏天就这么过去了 , 秋天竟然悄悄地走来了 。 一场一场的雨使得天气变得越来越凉了 , 大家应该多注意、别嫌麻烦 , 该添衣的时候也需要适量的多穿一点 。 本来每天写BUG就已经够辛苦了 , 再不对自己好点岂不是太委屈了 。
桥接模式简介桥接模式是结构型设计模式的一种 。 该模式的核心思想就是将“行为实现”和“抽象”拆分开 , 将其放在两个不同类层次中 , 使得这两个层次可以独立进行改变 。
桥接模式基于类的“最小设计原则” , 通过封装、聚合、继承等行为 , 让不同的类承担不同的职责 。
桥接模式设计UML类图:
桥接模式类图分析:
我们可以将桥接模式分为三层 , 分别是:使用者、抽象层、行为实现层 。
使用者:对应的是Client类 。
抽象层:对应的是Abstract类和它的子类RefinedAbstract 。 其中Abstract类中聚合了Implementor接口 , 该类还有一重要角色就是充当了桥接类 。 它相当于一座桥梁 , 连接了客户端和具体行为实现类 。
行为实现层:对应的是Implementor接口和它的实现类ConcreteImolImplementor1、ConcreteImolImplementor2 。
只是通过简单的文字描述可能大家对“桥接模式”的理解还是不够清晰和深刻 , 别慌下面让我们通过一个小案例来深入了解一下该设计模式 。
代码讲解案例:面向不同品牌 , 不同类型的笔记本设计一个具有开关机的程序 。
【笔记本|优秀程序员必会的设计模式之——桥接模式】电脑品牌接口 => 对应行为实现类接口:
不同品牌的笔记本 => 行为实现的具体实现类:
笔记本抽象类 => 对应抽象层的抽象类:
不同种类的笔记本 => 对应抽象类的子类:
客户端测试类:


总结1、桥接模式分离了抽象和实现 , 提高了系统的灵活性 。 这样的设计理念将有助于我们对系统进行分层设计和开发 。 并且抽象和实现的分离可以促使程序解耦 , 使得这两个层次之间可以独立变化 。
2、桥接模式可以替代多层继承方案 , 从而减少子类的个数 , 降低系统的管理和维护成本 。
3、桥接模式会增加系统的理解和设计难度 , 由于聚合关联关系建立在抽象层 , 所以要求开发者针对抽象进行设计和编程 。
4、桥接模式要求正确识别出系统中两个独立变化的维度(即抽象和实现) , 因此其使用范围有一定的局限性 。
今天的分享就到这里了 , 如果感觉“菜鸟”写的文章还不错 , 记得点赞加关注呦!你们的支持就是我坚持下去的动力 。 文章哪里写的有问题的也希望大家可以指出 , 我会虚心受教 。