iOS 设计模式浅析 2 - 桥接

本篇文章主要讲三个点:

    1. 什么是桥接模式.

    2. 桥接模式的优缺点.

    3. demo.

1. 桥接模式

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

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

2. 桥接模式的优缺点

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

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

             ③. 提高了扩展性.

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

3. demo

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

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

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

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

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

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

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1 场景问题# 1.1 发送提示消息## 考虑这样一个实际的业务功能:发送提示消息。基本上所有带业务流程处理的系统...
    七寸知架构阅读 10,500评论 5 63
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,205评论 25 709
  • 设计模式汇总 一、基础知识 1. 设计模式概述 定义:设计模式(Design Pattern)是一套被反复使用、多...
    MinoyJet阅读 9,375评论 1 15
  • 目录 本文的结构如下: 引言 什么是桥接模式 模式的结构 典型代码 代码示例 优点和缺点 适用环境 模式应用 一、...
    w1992wishes阅读 5,704评论 0 6
  • 有多少平平淡淡才是真,就有多少轰轰烈烈的执着…… 有多少亦趋亦步不忘本,就有多少不离不弃的真心……
    童安安阅读 1,202评论 0 0