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