定义
将抽象部分与它的实现部分分离,使他们可以独立地变化.
类图(2024/12/29)
使用场景
广义桥接本质上就是面向接口编程,可以说面向接口编程都可以理解为桥接模式。
标准的桥接 正如定义所说,两个维度分别变换,当然3个维度,4个维度也同理。
通过SMS,Email,QQ等方式分别发送普通消息,紧急消息,特级消息。两个维度的变量。一个是抽象的消息,另一个是消息的发送方式。
2024/12/29日
技术选型: 选择使用桥接模式。按照桥接模式的定义,完美符合需求。这里的抽象部分就是消息类型,而实现部分就是如何发送。
问: 有人可能会说,不用桥接行吗?
答: 可以,但不好。不好的点如下所述:
通过这个图就可以看出来,这是个2个维度的问题,如果不使用桥接,要至少需要3*3=9个类才能实现所有的功能,而使用桥接,只需要3+3=6各类就够了。桥接使用的是组合,而不用桥接,则需要使用继承,这也从某种程度上说明了组合优于继承。不用桥接的类图如下(