• 适配器模式:将一个类的借口转换成客户端希望的另一个接口
  • 有一个很直观的图:  
  • 例如      :电源适配器(将110V电压转换成220V电压,其中Traget是220V电压,adaptee就是110V电压,Adapter就是适配器):  
  • 代码实现:

    1 #import "Adapter.h"
    2
    3 @implementation Adapter
    4 -(int)changeTo220:(int)adaptee{
    5     return 220;
    6 }
    7 @end

    Adapter

     1 #import "ViewController.h"
     2 #import "Adapter.h"
     3 @interface ViewController ()
     4
     5 @end
     6
     7 @implementation ViewController
     8
     9 - (void)viewDidLoad {
    10     [super viewDidLoad];
    11
    12     int current       = 110;
    13     Adapter * adapter = [[Adapter alloc]init];
    14     int new           = [adapter changeTo220:110];
    15     NSLog(@"%d",new);
    16
    17 }
    18
    19 - (void)didReceiveMemoryWarning {
    20     [super didReceiveMemoryWarning];
    21 }
    22
    23 @end

    ViewController

  • 打印结果:

    2016-05-09 16:46:26.262 Factory[2766:204337] 220

  • 延伸总结:为什么说委托模式其实是适配器模式。其实Objecct-C中协议的概念就是定义一些外界可用的接口,那么外界需要用的值本类中的格式不一致。那么我们是不是可以在本类中声明一些接口,然后在本类接口中将外界需要的值我组织适配好通过声明的接口(协议)来传给外界。所以这么看来委托模式其实是适配器模式。

转载于:https://www.cnblogs.com/conorBlogs/p/5474589.html

iOS设计模式解析(三)适配器模式相关推荐

  1. iOS设计模式四部曲(三):行为型模式 内附Demo

    本篇是四部曲的第三篇,第一篇请点这里iOS设计模式四部曲(一):创建型模式,第二篇请点击这里iOS设计模式四部曲(二):结构型模式.由于个人能力有限,文中难免有一些遗漏或者错误,请各位看官不吝赐教!谢 ...

  2. 设计模式(三)--适配器模式

    设计模式(三)–适配器模式 文章目录 设计模式(三)--适配器模式 其他链接 1. 适配器模式 1.1 介绍 1.2 类适配器 1.3对象适配器 1.4 对比 其他链接 JVM学习笔记(一) JVM学 ...

  3. 设计模式(三)Adapter(适配器模式)

    设计模式(三)Adapter(适配器模式) 结构 实例 声明 Adapter(适配器模式):将一个类的接口转换成客户希望的另外一个接口.A d a p t e r模式使得原本由于接口不兼容而不能一起工 ...

  4. [译] iOS 设计模式进阶

    原文地址:Intermediate Design Patterns in Swift 原文作者:raywenderlich.com 译文出自:掘金翻译计划 本文永久链接:github.com/xitu ...

  5. 【设计模式自习室】适配器模式

    前言 <设计模式自习室>系列,顾名思义,本系列文章带你温习常见的设计模式.主要内容有: 该模式的介绍,包括: 引子.意图(大白话解释) 类图.时序图(理论规范) 该模式的代码示例:熟悉该模 ...

  6. 《设计模式解析(第2版•修订版)》—第2章 2.4节类图

    本节书摘来自异步社区<设计模式解析(第2版•修订版)>一书中的第2章,第2.4节类图,作者[美]Alan Shalloway(艾伦•沙洛维) , James R.Trott(詹姆斯•R.特 ...

  7. iOS 设计模式浅析 0 - 前言

    小弟不才, 但又喜欢分享一些自己知道的小知识, so 斗胆写下 iOS 常用设计模式的实用和对其的见解. 如果有错的地方请联系我 QQ: 573880506, 不胜感激(毕竟程序员, 标点符号都用的英 ...

  8. iOS设计模式四部曲(二) 结构型模式 内附Demo

    本篇是四部曲的第二篇,第一篇请点这里iOS设计模式四部曲(一):创建型模式 内附Demo,关于设计模式强烈推荐图书<Head First设计模式>以及<研磨设计模式>.由于个人 ...

  9. android常用两种适配器,Android常见设计模式五:适配器模式

    对于开发人员来说,设计模式有时候就是一道坎,但是设计模式又非常有用,过了这道坎,它可以让你水平提高一个档次.而在android开发中,必要的了解一些设计模式又是必须的,因为设计模式在Android源码 ...

  10. 《设计模式解析(第2版•修订版)》目录—导读

    作者简介 设计模式解析(第2版•修订版) Alan Shalloway 美国Net Objectives咨询/培训公司的创始人和CEO.他是麻省理工学院的计算机科学硕士,具有30多年面向对象咨询.培训 ...

最新文章

  1. 大盘点 | 2020年21篇医学影像算法最佳综述
  2. 看2021年2月苏州各区新房均价,谈一点个人的思考
  3. C语言圈排序Cycle Sort算法(附完整源码)
  4. 浏览器是如何工作的系列:渲染引擎
  5. Python实现定时自动关闭的tkinter窗口
  6. 在企业级开发中使用Try...Catch...会影响效率吗?
  7. Windows系统的版本分类
  8. 记一次 ORA-600 [12700] 故障案例
  9. 数字图像处理课程设计
  10. Oracle EMCC 12c emcli命令行工具安装以及使用介绍
  11. android 罗盘陀螺仪,电子罗盘和陀螺仪的区别以及工作原理介绍
  12. 《赖氏经典英语语法》第四集
  13. 小白ARM平台移植 USB 蓝牙、交叉编译 bluez-4.95
  14. 1、多线程原理与实践 《Java高并发核心编程 卷二》读书笔记
  15. MYSQL-JDBC数据库实战-宠物商店
  16. 明源售楼系统技术解析(四)右键菜单
  17. 使用经典的基本播放命令和 MML 创建 MIDI 文件
  18. 2018-11-5-win10-uwp-异步转同步
  19. faile什么意思_fail是什么意思_fail在线翻译_英语_读音_用法_例句_海词词典
  20. 中国网游公司上市突击大事记

热门文章

  1. 《剑指offer》面试题4——替换空格 C++编程
  2. CSS学习总结(1)——基本介绍
  3. 遥感技术在水利行业中的应用
  4. 夜间灯光数据下载(DMSP/OLS,NPP/VIIRS、珞珈一号网址)
  5. IDL实现遥感影像融合(批量)TASK(三)
  6. 利用composer搭建PHP框架(五.自动加载)
  7. linux pro*c环境配置,Pro*C 环境配置(RedHat +Oracle 10g)
  8. C/C++二维数组的传参方法总结
  9. Hibernate检索方式简单总结
  10. 插件占坑,四大组件动态注册前奏(三) 系统BroadCast的注册发送流程