2019Android設計模式總結
1.設計模式六大原則
a.單一職責原則:就一個類來說,應該只有一個引起它變化的原因
一個類做一件事情,避免職責過多。比如這種情況是不太好的,在一個Activity中既有bean檔案,又有http請求,還有adapter等等,這就導致我們需要修改任何一個東西的時候都會導致Activity的改變,這樣一來就有多個引起它變化的原因,不符合單一職責原則
b.開放封閉原則:類,模組,函式應該是可以擴充套件的,但是不可以修改
對於擴充套件是開放的,對於修改是封閉的。儘量做到面對需求的改變時,我們的程式碼能保持相對穩定,通過擴充套件的方式應對變化,而不是修改原有程式碼實現
c.里氏替換原則:所有引用基類的地方,必須可以透明的時候其子類的物件
里氏替換原則是實現開放封閉原則的重要方式之一,我們知道,使用基類的地方都可以使用子類去實現,因為子類擁有基類的所有方法,所以在程式設計中儘量使用基類型別對物件進行定義,在執行時確定子類型別。
d.依賴倒置原則:高層模組不應該依賴於底層模組,兩者都應該依賴於抽象,抽象不應該依賴於細節,細節應該依賴於抽象
依賴倒置原則針對的是模組之間的依賴關係,高層模組指呼叫端,底層模組指具體的實現類,抽象指介面或抽象類,細節就是實現類。該原則的具體表現就是模組間的依賴通過抽象發生,直線類之間不發生直接依賴關係,依賴通過介面或抽象類產生,降低耦合,比如MVP模式下,View層和P層通過介面產生依賴關係
e.迪米特原則(最少知識原則):一個軟體實體應該儘可能少的與其他實體發生相互作用
迪米特原則要求我們在設計系統時,儘量減少物件之間的互動
f.介面隔離原則:一個類對另一個類的依賴應該建立在最小的介面上
介面隔離原則的關鍵是介面以及這個介面要小,如何小呢,也就是我們要為專門的類建立專門的介面,這個介面只對它有效,不要試圖讓一個介面包羅永珍,要建立最小的依賴關係
設計模式的分類
設計模式分為三類
建立型設計模式
與物件建立有關包括單例模式,工廠方法模式,抽象工廠模式,建造者模式,原型模式
結構型設計模式
結構性設計模式是從程式的結構上解決模組之間的耦合問題,包括介面卡模式,代理模式,裝飾模式,外觀模式,橋接模式,組合模式和享元模式
行為型設計模式
主要處理類或物件如何互動及如何分配職責,包括策略模式,模板方法模式,觀察者模式,迭代器模式,責任鏈模式,命令模式,備忘錄模式,狀態模式,訪問者模式,中介模式,解析器模式
資料分享歡迎Android工程師朋友們加入安卓開發技術進階互助:856328774免費提供安卓開發架構的資料(包括Fultter、高階UI、效能優化、架構師課程、 NDK、Kotlin、混合式開發(ReactNative+Weex)和一線網際網路公司關於Android面試的題目彙總。
合理利用自己每一分每一秒的時間來學習提升自己,不要再用"沒有時間“來掩飾自己思想上的懶惰!趁年輕,使勁拼,給未來的自己一個交代!
