求知 文章 文库 Lib 视频 Code iProcess 课程 认证 咨询 工具 火云堂 讲座吧   成长之路  
会员   
 
 
 
全部课程 | 技术学院 | 管理学院 | 嵌入式学院 | 在线学院  
成功案例   品质保证  电话 English
追随技术信仰

随时听讲座
每天看新闻
 
   
成功案例
某安保系 嵌入式Linux基
国内某知 嵌入式软件可靠性设
中国航空 嵌入式C高质量编程
中国移动 网络规划与管理
全球领先 使用EA和UML进
上海汽车 嵌入式软件架构设计
上海 某 UML+嵌入式系统

相关课程  
UML +RoseRealtime+嵌入式
C++嵌入式系统开发
嵌入式白盒测试
手机软件测试
嵌入式软件测试
嵌入式操作系统VxWorks
 
iOS与设计模式    
 
包建强
去哪儿担任无线部门技术总监
报名课程   175 次浏览    19 次 
时间地点:上海 北京、深圳根据报名开班
课程费用: 5700元/人 详见 公开课学习手册
企业内训: 可以根据企业需求,定制内训,详见 内训学习手册

    根据讲师十多年的一线工作经验,涉足.NET、Android、iOS等多个技术领域,对设计模式有独到的理解。不拘泥于传统的书本教程,结合iOS在实际项目中的运用,帮助学员深刻理解设计模式。
 
培训目标
让学员掌握二十多个设计模式在Android中的使用场景,理解模式背后深层次的思想,更重要的是,学会如何学习一门新技术。
培训对象:该培训对于开发以下App产品特别有帮助:1、千万级用户的App产品。2、业务功能繁多。
学员基础:学习本课程应具备下列基础知识:1、1-2年iOS开发经验。2、对设计模式有一些了解或接触。。
授课方式: 定制课程 + 案例讲解 + 小组讨论,60%案例讲解,40%实践演练
培训内容: 3天
主题 内容
第一天:引子(破冰)
    从海盗分金子谈起
第1单元 SOLID(上午):该单元介绍SOLID五大设计原则 1. 单一性原则
  • 一个类只干一件事情
  • 从ViewController中剥离UITableView

  • 2. 开闭原则
  • 对扩展开放,对修改封闭
  • 从switch-case谈起

  • 3. 里氏替换原则
  • 父类,子类?
  • 对多态的重新认识
  • 白马与马

  • 4. 依赖倒置原则
  • 依赖于抽象,而不是依赖于具体
  • 模版方法
  • 从WebService到JSON

  • 5. 接口隔离原则
  • 类之间的依赖,建立于最小粒度的接口
  • 看人下菜碟
  • 宽窄接口

  • 6. 迪米特法则
  • 不要和陌生人说话

  • 7. 总结
  • 组合,还是继承?
  • 可插拔技术
  • 面向接口编程
  • 第2单元 创建型设计模式(下午):该单元介绍创建型设计模式 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的蜕化
  • 第二天:引子(破冰) 从大象背香蕉谈起
    第1单元 结构型设计模式(上午):该单元介绍结构型设计模式 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图、通用代码实现
  • 与单一职责设计原则的冲突
  • 第三天:第1单元 行为型设计模式(上午):该单元介绍行为型设计模式 1. 职责链模式
  • 定义及UML图、通用代码实现
  • 写一个例子:游戏中的伤害计算
  • iOS中的内部支持:UIView中的事件处理和动作消息

  • 2. 模版方法模式
  • 定义及UML图、通用代码实现
  • 基于策略模式的排序算法
  • iOS中的内部支持:UIView的钩子方法drawRect

  • 3. 命令模式
  • 定义及UML图、通用代码实现
  • 例子1:玉皇大帝派太上老君封孙悟空为齐天大圣
  • 回滚(undo)
  • 在iOS中的应用:NSInvocation与NSUndoManager

  • 4. 备忘录模式
  • 定义及UML图、通用代码实现
  • 回滚机制的另一种实现
  • 例子:单机游戏的保存和加载
  • 宽窄接口:IMemento
  • 第2单元 行为型设计模式(下午):该单元介绍行为型设计模式 1. 迭代器模式
  • 定义及UML图、通用代码实现
  • 在iOS中的内部支持:NSEnumerator及延伸

  • 2. 策略模式
  • 定义及UML图、通用代码实现
  • App中的应用:基于UITextView的验证器

  • 3. 观察者模式
  • 定义及UML图、通用代码实现
  • 例子:RSS
  • 在iOS中的内部支持1:KVO
  • 在iOS中的内部支持2:NSNotificationCenter

  • 4. 中介者模式
  • 定义及UML图、通用代码实现
  • 编写一个例子:房产中介
  • 在iOS中的应用:UIViewController中控件间通信

  • 5. 状态模式
  • 定义及UML图、通用代码实现
  • 写一个例子:空调遥控器
  • 在App中的应用:用户登录
  • 175 次浏览   19 次
    其他人还看了课程
    移动应用前端与服务端架构与实践  284 次浏览
    App开发技术深入研究   291 次浏览
    iOS与设计模式   176 次浏览
    iOS开发工程实践   163 次浏览
    定制内训



    最新活动计划
    [北京] 微服务架构设计与实践 3-10
    [北京] 自动化测试方法、案例与工具 3-15
    [北京] 软件测试方法与实践 3-22
    [北京] 嵌入式软件测试 3-27
    [北京] 区块链技术 3-29
    [北京] 产品经理与产品管理 3-30
    [北京] Java编程基础到应用开发 4-12
    [上海] 需求分析与管理 3-29
    [上海] 人工智能,机器学习和深度学习 3-23
    [深圳] 大数据分析专题-R语言培训 3-19
    [深圳] 企业级Hadoop大数据最佳实践 3-22
     
     
     

     
    每天2个文档/视频
    扫描微信二维码订阅
    订阅技术月刊
    获得每月300个技术资源
     
    希望我们的资料可以帮助你学习,也欢迎投稿&提建议给我
    频道编辑:sky
    邮       件:sky@uml.net.cn

    关于我们 | 联系我们 | 京ICP备10020922号 京公海网安备110108001071号