致力于提升研发企业的持续创新能力

结盟众多企业“教练”, 共同设计、开发及提供人才培养解决方案,通过新颖多样的学习方式,针对性的定制化内容,助力企业全面提升竞争优势。

课程分类列表

iOS与设计模式
课程类别:移动开发

iOS 设计模式 设计

课程讲师:

包建强

课程周期:

3天

课程费用:

6000元

一、   简介

根据讲师十多年奋战在一线的实战经验,详细剖析对设计模式的理解与实践,尤其是结合最近几年来在iOS领域的思考和研究。本课程系列讲介绍GOF经典设计模式以及面向对象设计的5大原则,分析这些设计模式在iOS中的实际使用场景,并使用大量案例,在短短的几堂课中,帮助学员迅速掌握学习设计模式的方法。

 

本课程对于开发以下App产品特别有帮助:

1、千万级用户的App产品。

2、业务功能繁多。

 

学习本课程应具备下列基础知识:

1、1-2年iOS开发经验。

2、对设计模式有一些了解或接触。

主题 内容
第1天 上午 讲SOLID五大原则 1. 单一性原则
 一个类只干一件事情
 从ViewController中剥离UITableView
2. 开闭原则
 对扩展开放,对修改封闭
 从switch-case谈起
3. 里氏替换原则
 父类,子类?
 对多态的重新认识
 白马与马
4. 依赖倒置原则
 依赖于抽象,而不是依赖于具体
 模版方法
 从WebService到JSON
5. 接口隔离原则
 类之间的依赖,建立于最小粒度的接口
 看人下菜碟
 宽窄接口
6. 迪米特法则
 不要和陌生人说话
7. UML图绘制
 接口、类
 类的关系(关联、依赖、聚合、组合)
8. 总结
 组合,还是继承?
 可插拔技术
 面向接口编程
第1天 下午 创建型设计模式 1. 简单工厂
 定义及UML图、通用代码实现
 iOS中的使用场景:ViewController的viewDidLoad方法
 iOS中的一个例子:文件存储
2. 工厂模式
 定义及UML图、通用代码实现
 简单工厂与工厂的微小区别
 iOS中的使用场景:两步对象创建法
 反射与工厂模式的配合
3. 抽象工厂模式
 定义及UML图、通用代码实现
 与工厂模式的区别
 文件存储的抽象工厂实现
4. 单例模式
 定义及UML图、通用代码实现
 多例
 iOS的内部支持:UIApplication和UIAccelerometer
 iOS中的使用场景:单例宏
5. 原型模式
 定义及UML图、通用代码实现
 浅拷贝和深拷贝
 NSCoping
 NSCoding
 App中的使用场景:再来一单
6. 生成器模式
 定义及UML图、通用代码实现
 编写一个例子:绘制笑脸
 变体:Director的蜕化
第2天 上午 构造型设计模式(一) 1. 委托模式
 神奇的delegate
 委托模式的使用场合
2. 适配器模式
 定义及UML图、通用代码实现
 类适配器和对象适配器
 一个例子:变压器
 iOS中的内部支持:Delegate以及UITableView
a) 使用Block实现适配器模式
3. 桥接模式
 定义及UML图、通用代码实现
 两个维度的简单工厂
 加法,还是乘法?
 编写一个例子:蜡笔与水彩笔
4. 代理模式
 定义及UML图、通用代码实现
 静态代理和动态代理
 远程代理
 虚拟代理
 保护代理
 iOS中的内部支持:NSProxy
第2天 下午 构造型设计模式(二) 1. 组合模式
 温习一下递归算法
 定义及UML图、通用代码实现
 实现的两种方式
 一个现实中的例子:山上有座庙
 iOS中的内部支持:UIView的层级结构
2. 享元模式
 定义及UML图、通用代码实现
 不变模式
 享元是多例与不变模式的组合
 自己编写一个例子:围棋
3. 装饰器模式
 定义及UML图、通用代码实现
 编写一个例子:炒菜
 给工厂增加新方法
 使用Category来实现装饰器模式
4. 外观模式
 定义及UML图、通用代码实现
 与单一职责设计原则的冲突
第3天 上午 行为型设计模式(一) 1. 职责链模式
 定义及UML图、通用代码实现
 写一个例子:游戏中的伤害计算
 iOS中的内部支持:UIView中的事件处理和动作消息
2. 模版方法模式
 定义及UML图、通用代码实现
 基于策略模式的排序算法
 iOS中的内部支持:UIView的钩子方法drawRect
3. 命令模式
 定义及UML图、通用代码实现
 例子1:玉皇大帝派太上老君封孙悟空为齐天大圣
 回滚(undo)
 在iOS中的应用:NSInvocation与NSUndoManager
4. 备忘录模式
 定义及UML图、通用代码实现
 回滚机制的另一种实现
 例子:单机游戏的保存和加载
 宽窄接口:IMemento
第3天 下午 行为型设计模式(二) 1. 迭代器模式
 定义及UML图、通用代码实现
 在iOS中的内部支持:NSEnumerator及延伸
2. 策略模式
 定义及UML图、通用代码实现
 App中的应用:基于UITextView的验证器
3. 观察者模式
 定义及UML图、通用代码实现
 例子:RSS
 在iOS中的内部支持1:KVO
 在iOS中的内部支持2:NSNotificationCenter
4. 中介者模式
 定义及UML图、通用代码实现
 编写一个例子:房产中介
 在iOS中的应用:UIViewController中控件间通信
5. 状态模式
 定义及UML图、通用代码实现
 写一个例子:空调遥控器
 在App中的应用:用户登录
找到所需课程了吗?即刻 填写申请表格 与我们联络吧