来自百度百科
桥接模式是将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体(Handle and Body)模式或接口(Interfce)模式。
在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?如何利用面向对象的技术来使得该类型能够轻松的沿着多个方向进行变化,而又不引入额外的复杂度?这就要使用Bridge模式。
在提出桥梁模式的时候指出,桥梁模式的用意是"将抽象化(Abstraction)与实现化(Implementation)脱耦,使得二者可以独立地变化"。这句话有三个关键词,也就是抽象化、实现化和脱耦。
我们都知道电脑有很多分类,比如台式机,笔记本。电脑还有很多品牌,比如联想、惠普、戴尔等。我们如何来表示这些电脑的关系呢?
那么我想加一个联想平板电脑。那么需要如何做呢?
很明显,这个模式有一个问题,就是类的个数膨胀的问题。
如果增加一个新的电脑类型,也要增加品牌下面的类如果要增加一个新的品牌, 也要增加各种类型的电脑很明显,导致此问题的原因,就是这里面含有两个维度的变化。那么可以用桥接模式对这两个维度进行一个连接,那么看下面的改进处理多层继承结构,多维度变化的场景,将各个维度 设计成 独立的 继承结构, 然后再用聚合等关系进行一个相应的联系。即可
Computer 体系
品牌体系
测试代码
