文章出處

 

課程名稱:iOS與設計模式

一、     簡介

根據講師十多年奮戰在一線的實戰經驗,詳細剖析對設計模式的理解與實踐,尤其是結合最近幾年來在iOS領域的思考和研究。本課程系列講介紹GOF經典設計模式以及面向對象設計的5大原則,分析這些設計模式在iOS中的實際使用場景,并使用大量案例,在短短的幾堂課中,幫助學員迅速掌握學習設計模式的方法。

 

本課程讓學員掌握二十多個設計模式在Android中的使用場景,理解模式背后深層次的思想,更重要的是,學會如何學習一門新技術。

 

本課程對于開發以下App產品特別有幫助:

1、千萬級用戶的App產品。

2、業務功能繁多。

 

學習本課程應具備下列基礎知識:

11-2iOS開發經驗。

2、對設計模式有一些了解或接觸。

 

二、     培訓大綱(2天)

第一天 上午

1 SOLID五大原則及UML圖繪制

1.        單一性原則

l   一個類只干一件事情

l   ViewController中剝離UITableView

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   面向接口編程

 

2 創建型設計模式(一)

1.        簡單工廠

l   定義及UML圖、通用代碼實現

l   iOS中的使用場景:ViewControllerviewDidLoad方法

l   iOS中的一個例子:文件存儲

2.        工廠模式

l   定義及UML圖、通用代碼實現

l   簡單工廠與工廠的微小區別

l   iOS中的使用場景:兩步對象創建法

l   反射與工廠模式的配合

 

第一天 下午

1創建型設計模式(二)

1.        單例模式

l   定義及UML圖、通用代碼實現

l   多例

l   iOS的內部支持:UIApplicationUIAccelerometer

l   iOS中的使用場景:單例宏

3.        原型模式

l   定義及UML圖、通用代碼實現

l   淺拷貝和深拷貝

l   NSCoping

l   NSCoding

l   App中的使用場景:再來一單

4.        生成器模式

l   定義及UML圖、通用代碼實現

l   編寫一個例子:繪制笑臉

l   變體:Director的蛻化

 

2講 構造型設計模式(一)

1.        委托模式

l   神奇的delegate

l   委托模式的使用場合

2.        適配器模式

l   定義及UML圖、通用代碼實現

l   類適配器和對象適配器

l   一個例子:變壓器

l   iOS中的內部支持:Delegate以及UITableView

l   使用Block實現適配器模式

3.        橋接模式

l   定義及UML圖、通用代碼實現

l   兩個維度的簡單工廠

l   加法,還是乘法?

l   編寫一個例子:蠟筆與水彩筆

4.        代理模式

l   定義及UML圖、通用代碼實現

l   靜態代理和動態代理

l   遠程代理

l   虛擬代理

l   保護代理

l   iOS中的內部支持:NSProxy

 

第二天 上午

1講 構造型設計模式(二)

1.        組合模式

l   溫習一下遞歸算法

l   定義及UML圖、通用代碼實現

l   實現的兩種方式

l   一個現實中的例子:山上有座廟

l   iOS中的內部支持:UIView的層級結構

2.        享元模式

l   定義及UML圖、通用代碼實現

l   不變模式

l   享元是多例與不變模式的組合

l   自己編寫一個例子:圍棋

3.        裝飾器模式

l   定義及UML圖、通用代碼實現

l   編寫一個例子:炒菜

l   給工廠增加新方法

l   使用Category來實現裝飾器模式

4.        外觀模式

l   定義及UML圖、通用代碼實現

l   與單一職責設計原則的沖突

 

2講 行為型設計模式(一)

1.        職責鏈模式

l   定義及UML圖、通用代碼實現

l   寫一個例子:游戲中的傷害計算

l   iOS中的內部支持:UIView中的事件處理和動作消息

2.        模版方法模式

l   定義及UML圖、通用代碼實現

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

l   iOS中的內部支持:UIView的鉤子方法drawRect

3.        命令模式

l   定義及UML圖、通用代碼實現

l   例子1:玉皇大帝派太上老君封孫悟空為齊天大圣

l   回滾(undo

l   iOS中的應用:NSInvocationNSUndoManager

4.        備忘錄模式

l   定義及UML圖、通用代碼實現

l   回滾機制的另一種實現

l   例子:單機游戲的保存和加載

l   寬窄接口:IMemento

 

第二天 下午

1講 行為型設計模式(二)

1.        迭代器模式

l   定義及UML圖、通用代碼實現

l   iOS中的內部支持:NSEnumerator及延伸

2.        策略模式

l   定義及UML圖、通用代碼實現

l   App中的應用:基于UITextView的驗證器

3.        觀察者模式

l   定義及UML圖、通用代碼實現

l   例子:RSS

l   iOS中的內部支持1KVO

l   iOS中的內部支持2NSNotificationCenter

4.        中介者模式

l   定義及UML圖、通用代碼實現

l   編寫一個例子:房產中介

l   iOS中的應用:UIViewController中控件間通信

5.        狀態模式

l   定義及UML圖、通用代碼實現

l   寫一個例子:空調遙控器

l   App中的應用:用戶登錄

 

2講 總結回顧

1.        回顧23個設計模式

2.        設計模式沉思

 


文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()