Android与设计模式
浏览:5617次
详情 DETAILS

简介

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

目标

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

课程时长

1天(6H)

受众人群

从事Android开发1-2年的程序员。对设计模式感兴趣的程序员。对新技术充满渴望的程序员。

分享提纲

第1讲 SOLID

l 单一性原则

n 一个类只干一件事情

n 从Activity中剥离Adapter

l 开闭原则

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

n 从switch-case谈起

l 里氏替换原则

n 父类,子类?

n 对多态的重新认识

n 白马与马

l 依赖倒置原则

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

n 模版方法

n 从WebService到JSON

l 接口隔离原则

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

n 看人下菜碟

n 宽窄接口

l 迪米特法则

n 不要和陌生人说话

l 总结

n 《建筑的永恒之道》

n Has-A和Is-A

n 组合,还是继承?

n 可插拔技术

n 面向接口编程

第2讲 创建型设计模式

l 简单工厂

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

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

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

l 工厂模式

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

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

n 反射与工厂模式的配合

l 抽象工厂模式

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

n 与工厂模式的区别

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

l 单例模式

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

n 序列化

n 多例

n Android中的使用场景:ImageLoader

l 原型模式

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

n 浅拷贝和深拷贝

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

n Android中的使用场景:Intent

l 生成器模式

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

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

n 变体:Director的蜕化

n Android中的使用场景:AlertDialog

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

l 适配器模式

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

n 类适配器和对象适配器

n 一个例子:变压器

n Android中的使用场景:Adapter

l 桥接模式

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

n 两个维度的简单工厂

n 加法,还是乘法?

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

l 代理模式

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

n 在Android中的实现:Binder与AIDL

n 静态代理和动态代理

n 远程代理

n 虚拟代理

n 保护代理

n 智能引用

n Android插件化的一种实现方式:静态代理

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

l 组合模式

n 温习一下递归算法

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

n 实现的两种方式

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

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

l 享元模式

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

n 不变模式

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

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

n Android中的使用场景:String

l 装饰器模式

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

n 编写一个例子:炒菜

n Stream流

n Android中的使用场景:ContextWrapper

l 外观模式

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

n Android中的使用场景:Context

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

l 职责链模式

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

n 在Android中的应用:事件分发机制

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

l 模版方法模式

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

n 在Android中的应用1:AsyncTask

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

l 命令模式

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

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

n 回滚(undo)

n 在Android中的应用1:AAPT

l 备忘录模式

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

n 回滚机制的另一种实现

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

n 宽窄接口:IMemento

n 在Android中的应用:onSaveInstanceState

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

l 迭代器模式

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

n 外部迭代器和内部迭代器

n 在Android中的应用:Cursor

l 策略模式

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

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

n 在Android中的应用:Comparator

l 观察者模式

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

n 例子:RSS

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

n 在Android中的应用2:BroadcastReceiver

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

l 中介者模式

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

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

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

l 状态模式

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

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

n 在Android中的应用:View的onVisibilityChanged方法

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



企业服务热线:400-106-2080
电话:18519192882
投诉建议邮箱:venus@bailinzhe.com
合作邮箱:service@bailinzhe.com
总部地址:
北京市-丰台区-汽车博物馆东路6号3号楼1单元902-B73(园区)
全国客户服务中心:
天津市-南开区-桂苑路15号鑫茂集团鑫茂军民园1号楼A座802-803
公众号
百林哲咨询(北京)有限公司 京ICP备2022035414号-1