天天看点

桥接模式

桥接模式是软件设计模式中最复杂的模式之一,它把事物对象和其具体行为、具体特征分离开来,使它们可以各自独立的变化。

桥梁模式的用意是"将抽象化(Abstraction)与实现化(Implementation)脱耦,使得二者可以独立地变化"。这句话有三个关键词,也就是抽象化、实现化和脱耦。  【这句话难理解】

抽象化

存在于多个实体中的共同的概念性联系,就是抽象化。作为一个过程,抽象化就是忽略一些信息,从而把不同的实体当做同样的实体对待【LISKOV94】。

实现化

抽象化给出的具体实现,就是实现化。

脱耦

所谓耦合,就是两个实体的行为的某种强关联。而将它们的强关联去掉,就是耦合的解脱,或称脱耦。在这里,脱耦是指将抽象化和实现化之间的耦合解脱开,或者说是将它们之间的强关联改换成弱关联。

个人理解:

事物:有多个属性或者行为集成在一起形成一个完整的事物。例如:颜色笔是一个事物,但颜色和笔又可以看作另外的两个事物。颜色有很多种,笔也有大中小多种。所以颜色和笔可以抽象出来,各自的现实可以自由变换互不影响。

桥接模式适用于事物具有两个或多个维度的变化,而且各维度互相耦合在一起。

抽象化与实现化脱耦:将事物具有多个属性或者行为抽象出来(抽象化),分别实现(实现化)。 脱藕:颜色和笔两个抽象类解藕,同时颜色和笔的实例也解藕。

继续阅读