抽象工廠模式定義
? ? 為創(chuàng)建一組相關(guān)或者相互依賴的對象提供一個接口,而不需要指定他們的具體實現(xiàn)類。
抽象工廠模式的使用場景
這個模式在Android實際開發(fā)中很少使用,在我工作中唯一用到的就是主題模式。該模式搭建主題框架再適合不過了。比如我們的應(yīng)用中有兩套主題,分別為亮色和暗色主題(ps:實際上我們項目后期修改為萬能色主題)。這兩種主題我們可以通過一個抽象的類或者接口定義,而在對應(yīng)主題下我們又有不同的UI元素,比如Button、Textview等,這些UI元素都會分別對應(yīng)不同的主題,這些UI元素我們也可以通過抽象的類或者接口定義,抽象的主題、具體的主題、抽象的UI元素、具體的UI元素,它們之間的關(guān)系就是抽象工廠模式最好的體現(xiàn)。
抽象工廠模式總結(jié)
? ? 優(yōu)點(diǎn):
????????一個顯著的優(yōu)點(diǎn)就是分離接口與實現(xiàn),客戶端使用抽象工廠來創(chuàng)建需要的對象,而客戶端根本就不知道具體的實現(xiàn)是誰,客戶端只是面試產(chǎn)品的接口編程而已,使其從具體的產(chǎn)品實現(xiàn)中解耦,通是基于接口與實現(xiàn)的分離,使抽象改工廠方法模式在切換產(chǎn)品類時更加靈活、容易。
? ? 缺點(diǎn):
? ????? 1)類文件爆炸性增加
? ? ????2)不太容易擴(kuò)展新的產(chǎn)品類,因為每當(dāng)我們增加一個產(chǎn)品類就需要修改抽象工廠,那么所有的具體工廠類均會被修改。