a.單一職責原則:就乙個類來說,應該只有乙個引起它變化的原因
乙個類做一件事情,避免職責過多。比如這種情況是不太好的,在乙個activity中既有bean檔案,又有http請求,還有adapter等等,這就導致我們需要修改任何乙個東西的時候都會導致activity的改變,這樣一來就有多個引起它變化的原因,不符合單一職責原則
b.開放封閉原則:類,模組,函式應該是可以擴充套件的,但是不可以修改
對於擴充套件是開放的,對於修改是封閉的。盡量做到面對需求的改變時,我們的**能保持相對穩定,通過擴充套件的方式應對變化,而不是修改原有**實現
c.黎克特制替換原則:所有引用基類的地方,必須可以透明的時候其子類的物件
黎克特制替換原則是實現開放封閉原則的重要方式之一,我們知道,使用基類的地方都可以使用子類去實現,因為子類擁有基類的所有方法,所以在程式設計中盡量使用基類型別對物件進行定義,在執行時確定子類型別。
d.依賴倒置原則:高層模組不應該依賴於底層模組,兩者都應該依賴於抽象,抽象不應該依賴於細節,細節應該依賴於抽象
依賴倒置原則針對的是模組之間的依賴關係,高層模組指呼叫端,底層模組指具體的實現類,抽象指介面或抽象類,細節就是實現類。該原則的具體表現就是模組間的依賴通過抽象發生,直線類之間不發生直接依賴關係,依賴通過介面或抽象類產生,降低耦合,比如mvp模式下,view層和p層通過介面產生依賴關係
e.迪公尺特原則(最少知識原則):乙個軟體實體應該盡可能少的與其他實體發生相互作用
迪公尺特原則要求我們在設計系統時,儘量減少物件之間的互動
f.介面隔離原則:乙個類對另乙個類的依賴應該建立在最小的介面上
介面隔離原則的關鍵是介面以及這個介面要小,如何小呢,也就是我們要為專門的類建立專門的介面,這個介面只對它有效,不要試圖讓乙個介面包羅永珍,要建立最小的依賴關係
設計模式分為三類
建立型設計模式
與物件建立有關包括單例模式,工廠方法模式,抽象工廠模式,建造者模式,原型模式
結構型設計模式
結構性設計模式是從程式的結構上解決模組之間的耦合問題,包括介面卡模式,**模式,裝飾模式,外觀模式,橋接模式,組合模式和享元模式
行為型設計模式
主要處理類或物件如何互動及如何分配職責,包括策略模式,模板方法模式,觀察者模式,迭代器模式,責任鏈模式,命令模式,備忘錄模式,狀態模式,訪問者模式,中介模式,解析器模式
資料分享歡迎android工程師朋友們加入安卓開發技術高階互助:856328774免費提供安卓開發架構的資料(包括fultter、高階ui、效能優化、架構師課程、 ndk、kotlin、混合式開發(reactnative+weex)和一線網際網路公司關於android面試的題目彙總。
合理利用自己每一分每一秒的時間來學習提公升自己,不要再用"沒有時間「來掩飾自己思想上的懶惰!趁年輕,使勁拼,給未來的自己乙個交代!
2019 Android手機系統版本分布情況
據google 前天發布的訊息,android將迎來第 10 個主版本 android q,目前android q beta 4 已經發布,公開 api 也已定稿!android q 主要聚焦在三個方面 創新 隱私與安全,以及數字健康。協助開發者利用 5g 摺疊屏 無框屏 裝置內建 ai 等最新技術...
android設計模式
一句話總結23種設計模式 目錄android的設計模式 設計模式的六大原則 一句話總結23種設計模式則 建立型模式 android的設計模式 單例模式 android的設計模式 建造者模式 android的設計模式 工廠方法模式 android的設計模式 簡單工廠模式 android的設計模式 抽象...
android設計模式 命令設計模式
1.系統需要將請求呼叫者和請求接收者解耦,使得呼叫者和接收者不直接互動。2.系統需要在不同的時間指定請求 將請求排隊和執行請求。3.系統需要支援命令的撤銷 undo 操作和恢復 redo 操作。4.系統需要將一組操作組合在一起。command命令角色 定義命令的介面,宣告具體命令類需要執行的方法。這...