iOS设计模式解析(三)适配器模式
- 适配器模式:将一个类的借口转换成客户端希望的另一个接口
- 有一个很直观的图:
- 例如 :电源适配器(将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设计模式解析(三)适配器模式相关推荐
- iOS设计模式四部曲(三):行为型模式 内附Demo
本篇是四部曲的第三篇,第一篇请点这里iOS设计模式四部曲(一):创建型模式,第二篇请点击这里iOS设计模式四部曲(二):结构型模式.由于个人能力有限,文中难免有一些遗漏或者错误,请各位看官不吝赐教!谢 ...
- 设计模式(三)--适配器模式
设计模式(三)–适配器模式 文章目录 设计模式(三)--适配器模式 其他链接 1. 适配器模式 1.1 介绍 1.2 类适配器 1.3对象适配器 1.4 对比 其他链接 JVM学习笔记(一) JVM学 ...
- 设计模式(三)Adapter(适配器模式)
设计模式(三)Adapter(适配器模式) 结构 实例 声明 Adapter(适配器模式):将一个类的接口转换成客户希望的另外一个接口.A d a p t e r模式使得原本由于接口不兼容而不能一起工 ...
- [译] iOS 设计模式进阶
原文地址:Intermediate Design Patterns in Swift 原文作者:raywenderlich.com 译文出自:掘金翻译计划 本文永久链接:github.com/xitu ...
- 【设计模式自习室】适配器模式
前言 <设计模式自习室>系列,顾名思义,本系列文章带你温习常见的设计模式.主要内容有: 该模式的介绍,包括: 引子.意图(大白话解释) 类图.时序图(理论规范) 该模式的代码示例:熟悉该模 ...
- 《设计模式解析(第2版•修订版)》—第2章 2.4节类图
本节书摘来自异步社区<设计模式解析(第2版•修订版)>一书中的第2章,第2.4节类图,作者[美]Alan Shalloway(艾伦•沙洛维) , James R.Trott(詹姆斯•R.特 ...
- iOS 设计模式浅析 0 - 前言
小弟不才, 但又喜欢分享一些自己知道的小知识, so 斗胆写下 iOS 常用设计模式的实用和对其的见解. 如果有错的地方请联系我 QQ: 573880506, 不胜感激(毕竟程序员, 标点符号都用的英 ...
- iOS设计模式四部曲(二) 结构型模式 内附Demo
本篇是四部曲的第二篇,第一篇请点这里iOS设计模式四部曲(一):创建型模式 内附Demo,关于设计模式强烈推荐图书<Head First设计模式>以及<研磨设计模式>.由于个人 ...
- android常用两种适配器,Android常见设计模式五:适配器模式
对于开发人员来说,设计模式有时候就是一道坎,但是设计模式又非常有用,过了这道坎,它可以让你水平提高一个档次.而在android开发中,必要的了解一些设计模式又是必须的,因为设计模式在Android源码 ...
- 《设计模式解析(第2版•修订版)》目录—导读
作者简介 设计模式解析(第2版•修订版) Alan Shalloway 美国Net Objectives咨询/培训公司的创始人和CEO.他是麻省理工学院的计算机科学硕士,具有30多年面向对象咨询.培训 ...
最新文章
- 大盘点 | 2020年21篇医学影像算法最佳综述
- 看2021年2月苏州各区新房均价,谈一点个人的思考
- C语言圈排序Cycle Sort算法(附完整源码)
- 浏览器是如何工作的系列:渲染引擎
- Python实现定时自动关闭的tkinter窗口
- 在企业级开发中使用Try...Catch...会影响效率吗?
- Windows系统的版本分类
- 记一次 ORA-600 [12700] 故障案例
- 数字图像处理课程设计
- Oracle EMCC 12c emcli命令行工具安装以及使用介绍
- android 罗盘陀螺仪,电子罗盘和陀螺仪的区别以及工作原理介绍
- 《赖氏经典英语语法》第四集
- 小白ARM平台移植 USB 蓝牙、交叉编译 bluez-4.95
- 1、多线程原理与实践 《Java高并发核心编程 卷二》读书笔记
- MYSQL-JDBC数据库实战-宠物商店
- 明源售楼系统技术解析(四)右键菜单
- 使用经典的基本播放命令和 MML 创建 MIDI 文件
- 2018-11-5-win10-uwp-异步转同步
- faile什么意思_fail是什么意思_fail在线翻译_英语_读音_用法_例句_海词词典
- 中国网游公司上市突击大事记
热门文章
- 《剑指offer》面试题4——替换空格 C++编程
- CSS学习总结(1)——基本介绍
- 遥感技术在水利行业中的应用
- 夜间灯光数据下载(DMSP/OLS,NPP/VIIRS、珞珈一号网址)
- IDL实现遥感影像融合(批量)TASK(三)
- 利用composer搭建PHP框架(五.自动加载)
- linux pro*c环境配置,Pro*C 环境配置(RedHat +Oracle 10g)
- C/C++二维数组的传参方法总结
- Hibernate检索方式简单总结
- 插件占坑,四大组件动态注册前奏(三) 系统BroadCast的注册发送流程