- IOS设计模式浅析之桥接模式(Bridge)
- 摘要如下:
- 定义:将抽象部分与它的实现部分分离,使它们都可以独立地变化。
换一种容易理解的方式来说明一下:假设有一个系统,它可以使用多种方式来进行分类,并且每一种分类都有可能变化
(比如说上面说的手机,既可以按照手机品牌来分类,也可以按照手机软件来分类,两者都是有可能变化的),那么就把这些分类方式分离出来让它们独立的变化,以减少它们之间的耦合
桥接模式优缺点
桥接模式的优点:
1. 桥接模式使用聚合关系,解耦了抽象和实现之间固有的绑定关系,使得抽象和实现可以沿着各自的维度来变化。
2. 提高了系统的可扩展性,可以独立地对抽象部分和实现部分进行扩展。
3. 可减少子类的个数,这个在前面讲手机示例的时候进行分析了。桥接模式的缺点:
1. 桥接模式的引入会增加系统的理解与设计难度,由于聚合关系建立在抽象层,要求开发者针对抽象进行设计与编程。
2. 桥接模式要求正确识别出系统中两个独立变化的维度,因此其使用范围具有一定的局限性。通过优缺点的分析,我们可以在如下的情形下使用桥接模式:
1. 不想在抽象与其实现之间形成固定的绑定关系;
2. 抽象及其实现都应可以通过子类化独立进行扩展;
3. 对抽象的实现进行修改不应影响客户端代码;
4. 如果每个实现需要额外的子类以细化抽象,则说明有必要把它们分成两个部分;
5. 想在带有不同抽象接口的多个对象之间共享一个实现。总的来说,桥接模式的本质在于“分离抽象和实现”。