『设计模式』大话西游的移魂大法竟移出来了桥接模式

Posted 风骨散人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了『设计模式』大话西游的移魂大法竟移出来了桥接模式相关的知识,希望对你有一定的参考价值。

大话西游里有那么一幕,牛魔王的妹妹使用移魂大法,使几个人的灵魂交换。我们考虑一个问题,一个哲学问题,到底他们是灵魂发生了转移,还是肉体发生了转移。到底肉体是灵魂的载体,还是灵魂是肉体的产物。成了唯心主义了,不行不行,我可是社会唯物主义好青年,看我用桥接模式给你给他们连起来。(PS:为了骗流量,博主起了这个名字,内容很有用)

桥接模式

桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。

这种模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类。这两种类型的类可被结构化改变而互不影响。

桥接模式是一个非常有用的模式,也是比较复杂的一个模式。熟悉这个模式对于理解面向对象的设计原则,包括"开-闭"原则(OCP)以及组合/聚合复用原则(CARP)都很有帮助。理解好这两个原则,有助于 形成正确的设计思想和培养良好的设计风格。

核心思想:以聚合代替原本的继承关系,重构代码结构实现松耦合(Coupling),二是高内聚(Cohesion)。面向对象系统追求的目标就是尽可能地提高系统模块内部的内聚(Cohesion)尽可能降低模块间的耦合(Coupling)。然而这也是面向对象设计过程中最难把握的部分

优点:

  1. 抽象和实现的分离。
  2. 优秀的扩展能力。
  3. 实现细节对客户透明。

缺点:

桥接模式的引入会增加系统的理解与设计难度,由于聚合关联关系建立在抽象层,要求开发者针对抽象进行设计与编程。

适用场景:

  1. 如果一个系统需要在构件的抽象化角色和具体化角色之间增加更多的灵活性,避免在两个层次之间建立静态的继承联系,通过桥接模式可以使它们在抽象层建立一个关联关系。
  2. 对于那些不希望使用继承或因为多层次继承导致系统类的个数急剧增加的系统,桥接模式尤为适用
  3. 一个类存在两个独立变化的维度,且这两个维度都需要进行扩展。

实现:

我们用一个示例来形象的说明什么是桥接 模式,但是这个例子不具有开发意义,只是为了讲清楚实现。

如果我们想实现PC系统和软件的关系的软件架构该如何实现。(再次说明,只是为了举例,评论区总有抬杠的

以上是关于『设计模式』大话西游的移魂大法竟移出来了桥接模式的主要内容,如果未能解决你的问题,请参考以下文章

大话设计模式之桥接模式

设计模式-- 探索一下桥接模式

设计模式-- 探索一下桥接模式

桥接模式--真的像一座桥

结构型模式《大话设计模式》——读后感 (13)手机软件何时能统一?——桥接模式

CentOS桥接上网设置方式