6.2019Android設計模式總結(jié)

1.設計模式六大原則

a.單一職責原則:就一個類來說,應該只有一個引起它變化的原因

一個類做一件事情,避免職責過多。比如這種情況是不太好的,在一個Activity中既有bean文件,又有http請求,還有adapter等等,這就導致我們需要修改任何一個東西的時候都會導致Activity的改變,這樣一來就有多個引起它變化的原因,不符合單一職責原則

b.開放封閉原則:類,模塊,函數(shù)應該是可以擴展的,但是不可以修改

對于擴展是開放的,對于修改是封閉的。盡量做到面對需求的改變時,我們的代碼能保持相對穩(wěn)定,通過擴展的方式應對變化,而不是修改原有代碼實現(xiàn)

c.里氏替換原則:所有引用基類的地方,必須可以透明的使用其子類的對象

里氏替換原則是實現(xiàn)開放封閉原則的重要方式之一,我們知道,使用基類的地方都可以使用子類去實現(xiàn),因為子類擁有基類的所有方法,所以在程序設計中盡量使用基類類型對對象進行定義,在運行時確定子類類型。

d.依賴倒置原則:高層模塊不應該依賴于底層模塊,兩者都應該依賴于抽象,抽象不應該依賴于細節(jié),細節(jié)應該依賴于抽象

依賴倒置原則針對的是模塊之間的依賴關(guān)系,高層模塊指調(diào)用端,底層模塊指具體的實現(xiàn)類,抽象指接口或抽象類,細節(jié)就是實現(xiàn)類。該原則的具體表現(xiàn)就是模塊間的依賴通過抽象發(fā)生,實現(xiàn)類之間不發(fā)生直接依賴關(guān)系,依賴通過接口或抽象類產(chǎn)生,降低耦合,比如MVP模式下,View層和P層通過接口產(chǎn)生依賴關(guān)系

e.迪米特原則(最少知識原則):一個軟件實體應該盡可能少的與其他實體發(fā)生相互作用

迪米特原則要求我們在設計系統(tǒng)時,盡量減少對象之間的交互

f.接口隔離原則:一個類對另一個類的依賴應該建立在最小的接口上

接口隔離原則的關(guān)鍵是接口以及這個接口要小,如何小呢,也就是我們要為專門的類創(chuàng)建專門的接口,這個接口只對它有效,不要試圖讓一個接口包羅萬象,要建立最小的依賴關(guān)系

設計模式的分類

設計模式分為三類

創(chuàng)建型設計模式

與對象創(chuàng)建有關(guān)包括單例模式,工廠方法模式,抽象工廠模式,建造者模式,原型模式

結(jié)構(gòu)型設計模式

結(jié)構(gòu)性設計模式是從程序的結(jié)構(gòu)上解決模塊之間的耦合問題,包括適配器模式,代理模式,裝飾模式,外觀模式,橋接模式,組合模式和享元模式

行為型設計模式

主要處理類或?qū)ο笕绾谓换ゼ叭绾畏峙渎氊?,包括策略模式,模板方法模式,觀察者模式,迭代器模式,責任鏈模式,命令模式,備忘錄模式,狀態(tài)模式,訪問者模式,中介模式,解析器模式

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容