知识卡片
抽象实现分离
内容
桥接把抽象层次和实现层次拆开,使两者可以独立变化。它不是事后补接口,而是在两个维度都可能扩展时主动避免类爆炸。发散:看到“类型×平台”的组合膨胀,就该警觉桥接机会。
参考来源
- 位置:第4章《结构型模式》4.2节「Bridge(桥接)」1.意图及2.动机(源文件:_epub-src/OEBPS/Text/part0071.xhtml)
- 结论依据:原文明确给出桥接的意图——将抽象部分与它的实现部分分离,使它们可以独立地变化,并以Window在多平台上的实现为例说明继承机制会导致'类型×平台'组合的类爆炸,直接支持卡片对桥接拆开抽象与实现层次、避免两个维度扩展导致类爆炸的论述。
- 原始内容:"将抽象部分与它的实现部分分离,使它们可以独立地变化……为了使IconWindow支持两个系统平台,我们必须实现两个新类XIconWindow和PMIconWindow……而为了支持第三个系统平台,我们还必须为每一种窗口定义一个新的Window子类。"