课程简介
Android设计
目标收益
让学员掌握二十多个设计模式在Android中的使用场景,理解模式背后深层次的思想,更重要的是,学会如何学习一门新技术。
培训对象
该培训对于开发以下App产品特别有帮助:
1、千万级用户的App产品。
2、业务功能繁多。
课程大纲
| 第一天:引子(破冰) | 从海盗分金子谈起 |
|
第1单元 SOLID(上午):该单元介绍SOLID五大设计原则 |
1. 单一性原则 · 一个类只干一件事情 · 从Activity中剥离Adapter 2. 开闭原则 · 对扩展开放,对修改封闭 · 从switch-case谈起 3. 里氏替换原则 · 父类,子类? · 对多态的重新认识 · 白马与马 4. 依赖倒置原则 · 依赖于抽象,而不是依赖于具体 · 模版方法 · 从WebService到JSON 5. 接口隔离原则 · 类之间的依赖,建立于最小粒度的接口 · 看人下菜碟 · 宽窄接口 6. 迪米特法则 · 不要和陌生人说话 7. 总结 · 《建筑的永恒之道》 · 组合,还是继承? · 可插拔技术 · 面向接口编程 |
|
第2单元 创建型设计模式(下午):该单元介绍创建型设计模式 |
1. 简单工厂 · 定义及UML图、通用代码实现 · Android中的使用场景:Activity的onCreate方法 · Android中的一个例子:文件存储 2. 工厂模式 · 定义及UML图、通用代码实现 · 简单工厂与工厂的微小区别 · 反射与工厂模式的配合 3. 抽象工厂模式 · 定义及UML图、通用代码实现 · 与工厂模式的区别 · 文件存储的抽象工厂实现 4. 单例模式 · 定义及UML图、通用代码实现 · 多例 · Android中的使用场景:ImageLoader 5. 原型模式 · 定义及UML图、通用代码实现 · 浅拷贝和深拷贝 · 一个例子:孙悟空的分身 · Android中的使用场景:Intent 6. 生成器模式 · 定义及UML图、通用代码实现 · 编写一个例子:绘制笑脸 · 变体:Director的蜕化 · Android中的使用场景:AlertDialog |
| 第二天:引子(破冰) | 从大象背香蕉谈起 |
|
第1单元 结构型设计模式(上午):该单元介绍结构型设计模式 |
1. 适配器模式 · 定义及UML图、通用代码实现 · 类适配器和对象适配器 · 一个例子:变压器 · Android中的使用场景:Adapter 2. 桥接模式 · 定义及UML图、通用代码实现 · 两个维度的简单工厂 · 加法,还是乘法? · 编写一个例子:蜡笔与水彩笔 3. 代理模式 · 定义及UML图、通用代码实现 · 在Android中的实现:Binder与AIDL · 静态代理和动态代理 · 远程代理 · 虚拟代理 · 保护代理 · 智能引用 · Android插件化的一种实现方式:静态代理 |
|
第2单元 结构型设计模式(下午) |
1. 组合模式 · 温习一下递归算法 · 定义及UML图、通用代码实现 · 实现的两种方式 · 一个现实中的例子:山上有座庙 · Android中的使用场景:View和ViewGroup 2. 享元模式 · 定义及UML图、通用代码实现 · 不变模式 · 享元是多例与不变模式的组合 · 自己编写一个例子:围棋 · Android中的使用场景:String 3. 装饰器模式 · 定义及UML图、通用代码实现 · 编写一个例子:炒菜 · 给工厂增加新方法 · Android中的使用场景:ContextWrapper 4. 外观模式 · 定义及UML图、通用代码实现 · 与单一职责设计原则的冲突 · Android中的使用场景:Context |
|
第三天:第1单元 行为型设计模式(上午):该单元介绍行为型设计模式 |
1. 职责链模式 · 定义及UML图、通用代码实现 · 写一个例子:游戏中的伤害计算 · 事件分发机制 2. 模版方法模式 · 定义及UML图、通用代码实现 · 在Android中的应用1:AsyncTask · 在Android中的应用2:Activity的生命周期函数 3. 命令模式 · 定义及UML图、通用代码实现 · 例子1:玉皇大帝派太上老君封孙悟空为齐天大圣 · 回滚(undo) · 在Android中的应用:AAPT 4. 备忘录模式 · 定义及UML图、通用代码实现 · 回滚机制的另一种实现 · 例子:单机游戏的保存和加载 · 宽窄接口:IMemento · 在Android中的应用:onSaveInstanceState |
|
第2单元 行为型设计模式(下午):该单元介绍行为型设计模式 |
1. 迭代器模式 · 定义及UML图、通用代码实现 · 外部迭代器和内部迭代器 · 在Android中的内部支持:Cursor 2. 策略模式 · 定义及UML图、通用代码实现 · 基于策略模式的排序算法 · 在Android中的应用:Comparator 3. 观察者模式 · 定义及UML图、通用代码实现 · 例子:RSS · 在Android中的应用1:Adapter的notifyDataSetChanged方法 · 在Android中的应用2:BroadcastReceiver · 在Android中的应用3:事件总线EventBus 4. 中介者模式 · 定义及UML图、通用代码实现 · 编写一个例子:房产中介 · 在Android中的应用:Activity中控件间通信 5. 状态模式 · 定义及UML图、通用代码实现 · 写一个例子:空调遥控器 · Android中的应用:View的onVisibilityChanged方法 · 在App中的应用:用户登录 |
|
第一天:引子(破冰) 从海盗分金子谈起 |
|
第1单元 SOLID(上午):该单元介绍SOLID五大设计原则 1. 单一性原则 · 一个类只干一件事情 · 从Activity中剥离Adapter 2. 开闭原则 · 对扩展开放,对修改封闭 · 从switch-case谈起 3. 里氏替换原则 · 父类,子类? · 对多态的重新认识 · 白马与马 4. 依赖倒置原则 · 依赖于抽象,而不是依赖于具体 · 模版方法 · 从WebService到JSON 5. 接口隔离原则 · 类之间的依赖,建立于最小粒度的接口 · 看人下菜碟 · 宽窄接口 6. 迪米特法则 · 不要和陌生人说话 7. 总结 · 《建筑的永恒之道》 · 组合,还是继承? · 可插拔技术 · 面向接口编程 |
|
第2单元 创建型设计模式(下午):该单元介绍创建型设计模式 1. 简单工厂 · 定义及UML图、通用代码实现 · Android中的使用场景:Activity的onCreate方法 · Android中的一个例子:文件存储 2. 工厂模式 · 定义及UML图、通用代码实现 · 简单工厂与工厂的微小区别 · 反射与工厂模式的配合 3. 抽象工厂模式 · 定义及UML图、通用代码实现 · 与工厂模式的区别 · 文件存储的抽象工厂实现 4. 单例模式 · 定义及UML图、通用代码实现 · 多例 · Android中的使用场景:ImageLoader 5. 原型模式 · 定义及UML图、通用代码实现 · 浅拷贝和深拷贝 · 一个例子:孙悟空的分身 · Android中的使用场景:Intent 6. 生成器模式 · 定义及UML图、通用代码实现 · 编写一个例子:绘制笑脸 · 变体:Director的蜕化 · Android中的使用场景:AlertDialog |
|
第二天:引子(破冰) 从大象背香蕉谈起 |
|
第1单元 结构型设计模式(上午):该单元介绍结构型设计模式 1. 适配器模式 · 定义及UML图、通用代码实现 · 类适配器和对象适配器 · 一个例子:变压器 · Android中的使用场景:Adapter 2. 桥接模式 · 定义及UML图、通用代码实现 · 两个维度的简单工厂 · 加法,还是乘法? · 编写一个例子:蜡笔与水彩笔 3. 代理模式 · 定义及UML图、通用代码实现 · 在Android中的实现:Binder与AIDL · 静态代理和动态代理 · 远程代理 · 虚拟代理 · 保护代理 · 智能引用 · Android插件化的一种实现方式:静态代理 |
|
第2单元 结构型设计模式(下午) 1. 组合模式 · 温习一下递归算法 · 定义及UML图、通用代码实现 · 实现的两种方式 · 一个现实中的例子:山上有座庙 · Android中的使用场景:View和ViewGroup 2. 享元模式 · 定义及UML图、通用代码实现 · 不变模式 · 享元是多例与不变模式的组合 · 自己编写一个例子:围棋 · Android中的使用场景:String 3. 装饰器模式 · 定义及UML图、通用代码实现 · 编写一个例子:炒菜 · 给工厂增加新方法 · Android中的使用场景:ContextWrapper 4. 外观模式 · 定义及UML图、通用代码实现 · 与单一职责设计原则的冲突 · Android中的使用场景:Context |
|
第三天:第1单元 行为型设计模式(上午):该单元介绍行为型设计模式 1. 职责链模式 · 定义及UML图、通用代码实现 · 写一个例子:游戏中的伤害计算 · 事件分发机制 2. 模版方法模式 · 定义及UML图、通用代码实现 · 在Android中的应用1:AsyncTask · 在Android中的应用2:Activity的生命周期函数 3. 命令模式 · 定义及UML图、通用代码实现 · 例子1:玉皇大帝派太上老君封孙悟空为齐天大圣 · 回滚(undo) · 在Android中的应用:AAPT 4. 备忘录模式 · 定义及UML图、通用代码实现 · 回滚机制的另一种实现 · 例子:单机游戏的保存和加载 · 宽窄接口:IMemento · 在Android中的应用:onSaveInstanceState |
|
第2单元 行为型设计模式(下午):该单元介绍行为型设计模式 1. 迭代器模式 · 定义及UML图、通用代码实现 · 外部迭代器和内部迭代器 · 在Android中的内部支持:Cursor 2. 策略模式 · 定义及UML图、通用代码实现 · 基于策略模式的排序算法 · 在Android中的应用:Comparator 3. 观察者模式 · 定义及UML图、通用代码实现 · 例子:RSS · 在Android中的应用1:Adapter的notifyDataSetChanged方法 · 在Android中的应用2:BroadcastReceiver · 在Android中的应用3:事件总线EventBus 4. 中介者模式 · 定义及UML图、通用代码实现 · 编写一个例子:房产中介 · 在Android中的应用:Activity中控件间通信 5. 状态模式 · 定义及UML图、通用代码实现 · 写一个例子:空调遥控器 · Android中的应用:View的onVisibilityChanged方法 · 在App中的应用:用户登录 |
近期公开课推荐