課程名稱: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. 設計模式沉思
文章列表