Android面試輕鬆搞定設計模式:六大原則+三大分類+詳細總結

yilian發表於2020-01-05
Android面試輕鬆搞定設計模式:六大原則+三大分類+詳細總結


2020年,我們已經過了5天,這樣說來,春招的也快來了,以前總結了不少面試題分享給大家

今天就給大家詳細總結一下設計模式,春招可不能倒上面

第一次看文章的朋友可以關注我,會不定期釋出大廠面試題、Android架構技術知識點及解析等內容,還有學習PDF+原始碼筆記+面試文件+進階影片分享

設計模式六大原則

a.單一職責原則

就一個類來說,應該只有一個引起它變化的原因

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

b.開放封閉原則

類,模組,函式應該是可以擴充套件的,但是不可以修改

對於擴充套件是開放的,對於修改是封閉的。儘量做到面對需求的改變時,我們的程式碼能保持相對穩定,透過擴充套件的方式應對變化,而不是修改原有程式碼實現

c.里氏替換原則

所有引用基類的地方,必須可以透明的時候其子類的物件

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

d.依賴倒置原則

高層模組不應該依賴於底層模組,兩者都應該依賴於抽象,抽象不應該依賴於細節,細節應該依賴於抽象

依賴倒置原則針對的是模組之間的依賴關係,高層模組指呼叫端,底層模組指具體的實現類,抽象指介面或抽象類,細節就是實現類。該原則的具體表現就是模組間的依賴透過抽象發生,直線類之間不發生直接依賴關係,依賴透過介面或抽象類產生,降低耦合,比如MVP模式下,View層和P層透過介面產生依賴關係

e.迪米特原則(最少知識原則)

一個軟體實體應該儘可能少的與其他實體發生相互作用

迪米特原則要求我們在設計系統時,儘量減少物件之間的互動

f.介面隔離原則

一個類對另一個類的依賴應該建立在最小的介面上

介面隔離原則的關鍵是介面以及這個介面要小,如何小呢,也就是我們要為專門的類建立專門的介面,這個介面只對它有效,不要試圖讓一個介面包羅永珍,要建立最小的依賴關係

當然想看以往總結的學習內容和麵試文章可以看我的GitHub:

還有需要面試資料總結vx【xx13414521】

Android面試輕鬆搞定設計模式:六大原則+三大分類+詳細總結

設計模式的分類

設計模式分為三類

a.建立型設計模式

與物件建立有關包括單例模式,工廠方法模式,抽象工廠模式,建造者模式,原型模式

b.結構型設計模式

結構性設計模式是從程式的結構上解決模組之間的耦合問題,包括介面卡模式,代理模式,裝飾模式,外觀模式,橋接模式,組合模式和享元模式

c.行為型設計模式

主要處理類或物件如何互動及如何分配職責,包括策略模式,模板方法模式,觀察者模式,迭代器模式,責任鏈模式,命令模式,備忘錄模式,狀態模式,訪問者模式,中介模式,解析器模式

最後

關注我,會不定期釋出大廠面試題、Android架構技術知識點及解析


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952849/viewspace-2672009/,如需轉載,請註明出處,否則將追究法律責任。

相關文章