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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了包建强的培训课程:Android与设计模式相关的知识,希望对你有一定的参考价值。

 

一、     简介

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

 

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

 

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

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

2、业务功能繁多。

 

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

11-2Android开发经验。

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

 

二、     培训大纲(3天)

1天 上午 讲SOLID五大原则及UML图绘制

1.        单一性原则

l   一个类只干一件事情

l   Activity中剥离Adapter

2.        开闭原则

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

l   switch-case谈起

3.        里氏替换原则

l   父类,子类?

l   对多态的重新认识

l   白马与马

4.        依赖倒置原则

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

l   模版方法

l   WebServiceJSON

5.        接口隔离原则

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

l   看人下菜碟

l   宽窄接口

6.        迪米特法则

l   不要和陌生人说话

7.        UML图绘制

l   接口、类

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

8.        总结

l   《建筑的永恒之道》

l   组合,还是继承?

l   可插拔技术

l   面向接口编程

 

1天 下午 创建型设计模式

1.        简单工厂

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

l   Android中的使用场景:ActivityonCreate方法

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

2.        工厂模式

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

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

l   反射与工厂模式的配合

3.        抽象工厂模式

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

l   与工厂模式的区别

l   文件存储的抽象工厂实现

4.        单例模式

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

l   多例

l   Android中的使用场景:ImageLoader

5.        原型模式

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

l   浅拷贝和深拷贝

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

l   Android中的使用场景:Intent

6.        生成器模式

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

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

l   变体:Director的蜕化

l   Android中的使用场景:AlertDialog

 

2天 上午 构造型设计模式(一)

1.        适配器模式

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

l   类适配器和对象适配器

l   一个例子:变压器

l   Android中的使用场景:Adapter

2.        桥接模式

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

l   两个维度的简单工厂

l   加法,还是乘法?

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

3.        代理模式

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

l   Android中的实现:BinderAIDL

l   静态代理和动态代理

l   远程代理

l   虚拟代理

l   保护代理

l   智能引用

 

2天 下午 构造型设计模式(二)

1.        组合模式

l   温习一下递归算法

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

l   实现的两种方式

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

l   Android中的使用场景:ViewViewGroup

2.        享元模式

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

l   不变模式

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

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

l   Android中的使用场景:String

3.        装饰器模式

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

l   编写一个例子:炒菜

l   给工厂增加新方法

l   Android中的使用场景:ContextWrapper

4.        外观模式

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

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

l   Android中的使用场景:Context

 

3天 上午 行为型设计模式(一)

1.        职责链模式

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

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

l   事件分发机制

2.        模版方法模式

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

l   Android中的应用1AsyncTask

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

3.        命令模式

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

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

l   回滚(undo

l   Android中的应用:AAPT

4.        备忘录模式

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

l   回滚机制的另一种实现

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

l   宽窄接口:IMemento

l   Android中的应用:onSaveInstanceState

 

3天 下午 行为型设计模式(二)

1.        迭代器模式

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

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

l   Android中的内部支持:Cursor

2.        策略模式

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

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

l   Android中的应用:Comparator

3.        观察者模式

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

l   例子:RSS

l   Android中的应用1AdapternotifyDataSetChanged方法

l   Android中的应用2BroadcastReceiver

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

4.        中介者模式

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

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

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

5.        状态模式

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

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

l   Android中的应用:ViewonVisibilityChanged

l   App中的应用:用户登录

 

以上是关于包建强的培训课程:Android与设计模式的主要内容,如果未能解决你的问题,请参考以下文章

包建强的培训课程:Android App企业级开发

包建强的培训课程(14):Android与ReactNative

包建强的培训课程(13):iOS与ReactNative

包建强的培训课程(15):React入门与提高

包建强的培训课程:Git实战

包建强的培训课程(12):iOS深入学习