美文网首页
iOS 设计模式浅析 2 - 桥接

iOS 设计模式浅析 2 - 桥接

作者: MixReality | 来源:发表于2017-12-13 13:57 被阅读0次

本篇文章主要讲三个点:

    1. 什么是桥接模式.

    2. 桥接模式的优缺点.

    3. demo.

1. 桥接模式

    将抽象部分和实现部分分离, 使他们都可以独立的变化.

    桥接模式的原理: 抽象层和实现层相分离, 抽象层定义了供我们使用的抽象接口, 实现层提供了具体的逻辑, 实现类的引用被封装到了抽象层的实例之中, 即完成了桥接模式.

2. 桥接模式的优缺点

    优点: ①. 将依赖具体的实现, 改为依赖抽象的实现, 达到解耦合的目的.

             ②. 分离接口和实现部分.

             ③. 提高了扩展性.

    缺点: 会增加系统的理解与设计难度, 由于聚合关系建立在抽象层, 要求开发者针对抽象进行设计与编程.

3. demo

      正常情况下, 都是一把钥匙开一把锁, 但是有些需求是要用一个万能钥匙给所有锁都打开, 先看一下 demo 的 UML 原理图:

      想要用万能钥匙开奥迪和宝马, 先看一下汽车的抽象类, 里面就只有一个抽象方法:

          下面的代码是奥迪和宝马继承自汽车类, 并且实现了抽象方法:

      钥匙抽象类聚合了 Car 类, 并且有两个抽象方法:

      万能钥匙继承自钥匙抽象类, 并且实现了抽象方法:

      FirstCtrl 里面进行了对万能钥匙的调用, 实际上万能钥匙只是改变了汽车的种类, 就像是我们用的万能遥控器, 只是改变要配对的设备, 其余操作相同, 原理其实就是利用了多态啦.

      桥接模式的应用场景还是蛮多的, 发现有个大佬写桥接模式写的蛮好的, 放一个传送门, 我也是处在一个学习阶段, 所以有些观点可能偏浅, 有什么不足之处还望见谅.

      这里是 demo 的 传送门, 如果喜欢的话, 大家可以为这篇文章点个 ❤️, 加个关注呦!

相关文章

网友评论

      本文标题:iOS 设计模式浅析 2 - 桥接

      本文链接:https://www.haomeiwen.com/subject/nrvmixtx.html