桥接模式 (Bridge Pattern)

桥接模式的应用场景很有意思,它要将一维的关系升为二维,毛笔和蜡笔的故事讲得很清楚了。

一支蜡笔只能表示一种大小和一种颜色,需要小号红色蜡笔就从各种蜡笔中取一支出来,假如有大中小型号12种颜色,那就需要准备36支蜡笔。

而毛笔则可以蘸不同颜色的墨水,需要大中小型号12种颜色,只需要三支毛笔和有12种不同颜色的调色板。

蜡笔将型号和颜色耦合起来了,毛笔则将型号和颜色进行了分离,做到了解耦。

如果要增加新的型号或颜色的时候,蜡笔需要进行多次改动,而毛笔只需要进行一次改动,解耦的好处不言而喻。

桥接模式就是在寻找这种能够解耦的关系。

 

 

 

上面的类图理解起来比较困难,从下面毛笔的实际例子来看就明显很多。

 

 

 如果能在对象之间找到这种二维的关系,使用桥接模式就如同伯牙遇子期。

下面是实际的例子,用来拓宽思维。跨平台浏览不同图像格式,一是不同平台,二是不同图像格式。图像的计算就是矩阵的计算。

 

posted @   HanselHuang  阅读(72)  评论(0)    收藏  举报
点击右上角即可分享
微信分享提示