一、概述
一般问题:一个类需要在两个以上维度扩展,采用继承方式会导致子类数量过多
核心方案:将抽象部分与实现部分分离,使其都可以独立变化
设计意图:桥接模式不是将两个不相干的类链接,而是将一个需要多维度变化的类拆分成抽象部分和实现部分,并且在抽象层对两者做组合关联,是用组合的方式来解决继承的问题。举个例子,如果一个类在两个维度分别有m和n种变化,采用继承的方式就需要扩展出m*n个子类,且一个维度每增加一种变化就多出另一个维度变化总数的子类;如果将两个维度拆分再组合,加起来也只有m+n个子类,且每个维度独立扩展,一个维度增加一种变化只需要增加1个子类。
原文:https://www.cnblogs.com/not2/p/11017132.html