zoukankan      html  css  js  c++  java
  • 包建强的培训课程(2):Android与设计模式

     

    课程名称:Android与设计模式

    一、     简介

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

     

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

     

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

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

    2、业务功能繁多。

     

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

    11-2Android开发经验。

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

     

    二、     培训大纲(2天)

    第一天 上午

    1SOLID五大原则及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   面向接口编程

    9.        简单工厂

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

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

    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中的实现:BinderAIDL

    l   静态代理和动态代理

    l   远程代理

    l   虚拟代理

    l   保护代理

    l   智能引用

     

    第二天 上午

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

    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

     

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

    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

     

    第二天 下午

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

    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中的应用:用户登录

    2讲 总结回顾

    1.        回顾23个设计模式

    2.        设计模式沉思

     

  • 相关阅读:
    elk.postman_collection.json
    win10 env
    run fink local
    run kafka local
    打码util
    DataFormatVerifyUtil
    springboot logging.config=classpath:log4j2.xml -Dlogging.config=config/log4j2.xml
    server.port server.servlet.context-path resources freemarker mybatis mail
    maven-war-plugin
    html头部有一行信息导致所有的css和jss都是 https了
  • 原文地址:https://www.cnblogs.com/Jax/p/5928381.html
Copyright © 2011-2022 走看看