您的位置:首页 > 移动开发 > Android开发

包建强的培训课程(2):Android与设计模式

2016-10-02 23:33 232 查看
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
@import url(/css/cuteeditor.css);

课程名称:Android与设计模式

一、 简介

本课程根据讲师十多年的一线工作经验,涉足.NET、Android、iOS等多个技术领域,对设计模式有独到的理解。不拘泥于传统的书本教程,结合Android在实际项目中的运用,帮助学员深刻理解设计模式。

本课程让学员掌握二十多个设计模式在Android中的使用场景,理解模式背后深层次的思想,更重要的是,学会如何学习一门新技术。

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

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

2、业务功能繁多。

本课程适用于具有以下特征的学员:

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

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

二、 培训大纲(2天)

第一天 上午

第1讲
SOLID五大原则及UML图绘制


1.
单一性原则

l 一个类只干一件事情

l 从Activity中剥离Adapter

2.
开闭原则

l 对扩展开放,对修改封闭

l 从switch-case谈起

3.
里氏替换原则

l 父类,子类?

l 对多态的重新认识

l 白马与马

4.
依赖倒置原则

l 依赖于抽象,而不是依赖于具体

l 模版方法

l 从WebService到JSON

5.
接口隔离原则

l 类之间的依赖,建立于最小粒度的接口

l 看人下菜碟

l 宽窄接口

6.
迪米特法则

l 不要和陌生人说话

7.
UML图绘制

l 接口、类

l 类的关系(关联、依赖、聚合、组合)

8.
总结

l 《建筑的永恒之道》

l 组合,还是继承?

l 可插拔技术

l 面向接口编程

9.
简单工厂

l 定义及UML图、通用代码实现

l Android中的使用场景:Activity的onCreate方法

l Android中的一个例子:文件存储

第2讲
创建型设计模式(一)

1.
工厂模式

l 定义及UML图、通用代码实现

l 简单工厂与工厂的微小区别

l 反射与工厂模式的配合

2.
单例模式

l 定义及UML图、通用代码实现

l 多例

l Android中的使用场景:ImageLoader

第一天 下午

第1讲
创建型设计模式(二)

1.
单例模式

l 定义及UML图、通用代码实现

l 多例

l Android中的使用场景:ImageLoader

2.
原型模式

l 定义及UML图、通用代码实现

l 浅拷贝和深拷贝

l 一个例子:孙悟空的分身

l Android中的使用场景:Intent

3.
生成器模式

l 定义及UML图、通用代码实现

l 编写一个例子:绘制笑脸

l Android中的Builder模式

l Android中的使用场景:AlertDialog

第2讲
构造型设计模式(一)


1.
适配器模式

l 定义及UML图、通用代码实现

l 类适配器和对象适配器

l 一个例子:变压器

l Android中的使用场景:Adapter

2.
桥接模式

l 定义及UML图、通用代码实现

l 两个维度的简单工厂

l 加法,还是乘法?

l 编写一个例子:蜡笔与水彩笔

3.
代理模式

l 定义及UML图、通用代码实现

l 在Android中的实现:Binder与AIDL

l 静态代理和动态代理

l 远程代理

l 虚拟代理

l 保护代理

l 智能引用

第二天 上午

第1讲
构造型设计模式(二)


1.
组合模式

l 温习一下递归算法

l 定义及UML图、通用代码实现

l 实现的两种方式

l 一个现实中的例子:山上有座庙

l Android中的使用场景:View和ViewGroup

2.
享元模式

l 定义及UML图、通用代码实现

l 不变模式

l 享元是多例与不变模式的组合

l 自己编写一个例子:围棋

l Android中的使用场景:String

3.
装饰器模式

l 定义及UML图、通用代码实现

l 编写一个例子:炒菜

l 给工厂增加新方法

l Android中的使用场景:ContextWrapper

4.
外观模式

l 定义及UML图、通用代码实现

l 与单一职责设计原则的冲突

l Android中的使用场景:Context

第2讲
行为型设计模式(一)


1.
职责链模式

l 定义及UML图、通用代码实现

l 写一个例子:游戏中的伤害计算

l 事件分发机制

2.
模版方法模式

l 定义及UML图、通用代码实现

l 在Android中的应用1:AsyncTask

l 在Android中的应用2:Activity的生命周期函数

3.
命令模式

l 定义及UML图、通用代码实现

l 例子1:玉皇大帝派太上老君封孙悟空为齐天大圣

l 回滚(undo)

l 在Android中的应用:AAPT

4.
备忘录模式

l 定义及UML图、通用代码实现

l 回滚机制的另一种实现

l 例子:单机游戏的保存和加载

l 宽窄接口:IMemento

l 在Android中的应用:onSaveInstanceState

第二天 下午

第1讲
行为型设计模式(二)


1.
迭代器模式

l 定义及UML图、通用代码实现

l 外部迭代器和内部迭代器

l 在Android中的内部支持:Cursor

2.
策略模式

l 定义及UML图、通用代码实现

l 基于策略模式的排序算法

l 在Android中的应用:Comparator

3.
观察者模式

l 定义及UML图、通用代码实现

l 例子:RSS

l 在Android中的应用1:Adapter的notifyDataSetChanged方法

l 在Android中的应用2:BroadcastReceiver

l 在Android中的应用3:事件总线EventBus

4.
中介者模式

l 定义及UML图、通用代码实现

l 编写一个例子:房产中介

l 在Android中的应用:Activity中控件间通信

5.
状态模式

l 定义及UML图、通用代码实现

l 写一个例子:空调遥控器

l Android中的应用:View的onVisibilityChanged方

l 在App中的应用:用户登录

第2讲
总结回顾


1.
回顾23个设计模式

2.
设计模式沉思

@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: