桥接模式是软件设计模式中最复杂的模式之一,它把事物对象和其具体行为、具体特征分离开来,使它们可以各自独立的变化。
桥梁模式的用意是"将抽象化(Abstraction)与实现化(Implementation)脱耦,使得二者可以独立地变化"。这句话有三个关键词,也就是抽象化、实现化和脱耦。 【这句话难理解】
抽象化
存在于多个实体中的共同的概念性联系,就是抽象化。作为一个过程,抽象化就是忽略一些信息,从而把不同的实体当做同样的实体对待【LISKOV94】。
实现化
抽象化给出的具体实现,就是实现化。
脱耦
个人理解:
事物:有多个属性或者行为集成在一起形成一个完整的事物。例如:颜色笔是一个事物,但颜色和笔又可以看作另外的两个事物。颜色有很多种,笔也有大中小多种。所以颜色和笔可以抽象出来,各自的现实可以自由变换互不影响。
桥接模式适用于事物具有两个或多个维度的变化,而且各维度互相耦合在一起。
抽象化与实现化脱耦:将事物具有多个属性或者行为抽象出来(抽象化),分别实现(实现化)。 脱藕:颜色和笔两个抽象类解藕,同时颜色和笔的实例也解藕。
抽象化与实现化脱耦(抽象[颜色]与抽象[笔]解耦、实现[红绿蓝...]与实现[大笔中笔..]解耦)