桥接模式
桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供
抽象化
和实现化
之间的桥接结构,来实现二者的解耦。
简单的说,就是将比较独立的功能,抽离成单独的组件,然后再需要使用到它的地方,按照使用方式的不同,在进行排列组件。其实这也是现代前端框架组件化思想的来源,不管是 react
还是 vue
,开发的过程中,都是尽可能的拆分出各种独立的功能,然后单独开发管理,最后通过各种排列组合实现整个系统。
示例
设想如果要绘制矩形、圆形、正方形,我们至少需要3个形状类,但是如果绘制的图形需要具有不同的颜色,如红色、绿色、蓝色等,此时至少有如下两种设计方案:
图片来源自 js设计模式【详解】—— 桥接模式
-
第一种设计方案是为每一种形状都提供一套各种颜色的版本。
-
第二种设计方案是根据实际需要对形状和颜色进行组合(这种就是桥接模式&#x