最近在繼續iPhone業務的同時還需要重新拾起Android。在有些生疏的情況下,決定從Android源碼中感悟一些Android的風格和方式。在學習源碼的過程中也發現了一些通用的模式,希望通過一個系列的文章總結和分享下。
策略模式定義一系列算法,把它們一個個封裝起來,並且使它們可以相互替換。該模式使得算法可獨立於它們的客戶變化。
Android中的TabHost,每個Tab頁面在Tab Indicator和Tab Content上都有很多種風格或者類型。這些都通過TabSpec指定。TabSpec就通過實現IndicatorStrategy接口的各種具體類進行不同風格的Tab Indicator的生成,同時通過實現ContentStrategy接口的各種具體類進行不同類型的Tab Content的生成。通過策略很好實現了動態切換。實現的類圖如下: