Bridge之再会
年初的时候学过了Bridge模式,那时候理解也不太深刻。今天再拿起《设计模式解析》,重新看Bridge,觉得终于算是理解了什么是Bridge.
先来看看GOF4的书籍中关于Bridge的描述:Decoupling interface and implementation.《设计模式解析》中,作者的解释为:将抽象与其实现分离。在这里首先得弄清楚实现的涵义,《解析》一书已经说得很明白了,这里的实现“不是抽象类的派生类”,而是“抽象类及其派生类的用来实现自己的对象”。第一次看或者前几次看的时候,我还是有些模糊。结合《解析》一书的例子,最后才完全弄清楚此涵义。我以我的理解尝试用个通俗的例子来说明吧:假设有一个抽象类叫做“人”,那么这个人的实现(也就是抽象的实现)就包括穿衣,吃饭等等。把人作为一个抽象类,然后“穿衣”这个人的实现又作为一个抽象类“穿衣”,然后把穿衣聚集到人这个类中,这就实现了抽象及其实现的分离。
好处就是,人可以派生出各色人等,黄黑白高矮胖瘦.etc;穿衣也有各种派生,穿短袖,夹克,衬衫.etc,如此便实现了分开派生,避免了“组合爆炸”的问题。
以图表示:

浙公网安备 33010602011771号