博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS 设计模式浅析 2 - 桥接
阅读量:6548 次
发布时间:2019-06-24

本文共 718 字,大约阅读时间需要 2 分钟。

本篇文章主要讲三个点:

      1. 什么是桥接模式.

      2. 桥接模式的优缺点.

      3. demo.

1. 桥接模式

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

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

              

2. 桥接模式的优缺点

优点: 

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

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

      ③. 提高了扩展性.

缺点: 

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

3. demo

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

   

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

                      

                      

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

                   

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

                           

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

                    

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

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

转载于:https://juejin.im/post/5a30c7526fb9a0451b048905

你可能感兴趣的文章
Java程序员从笨鸟到菜鸟之(三十四)大话设计模式(五)创建者模式和原型模式...
查看>>
eclipse构建maven的web项目
查看>>
Ubuntu去掉命令行前用户名和主机名步骤
查看>>
java实现断点续传
查看>>
Linux中sendmail启动速度慢的解决方法
查看>>
如何在Eclipse中查看Android API源码以及support包源码
查看>>
android SharedPreferences apply和commit的区别
查看>>
实现Bootstrap导航条可点击和鼠标悬停显示下拉菜单
查看>>
MongoDB入门3——更新文档和修改器1
查看>>
《现代操作系统》读书笔记之——进程间通信2
查看>>
面对高考
查看>>
php-excel-reader - 简单的excel 读取类
查看>>
ubuntu 在lnmp中php安装GD库
查看>>
Python学习笔记 1
查看>>
mysql 优化方案
查看>>
appium的坑
查看>>
500 Lines or Less
查看>>
函数与指针
查看>>
有关ubuntu的c++开发环境配置
查看>>
【spring】1.spring ioc原理和demo
查看>>