1.單一職責(zé)原則
通俗地講就是一個(gè)類只做一件事
-
CALayer
:動(dòng)畫和視圖的顯示刘急。 -
UIView
:只負(fù)責(zé)事件傳遞棚菊、事件響應(yīng)。
2.開閉原則
對(duì)修改關(guān)閉叔汁,對(duì)擴(kuò)展開放统求。 要考慮到后續(xù)的擴(kuò)展性检碗,而不是在原有的基礎(chǔ)上來(lái)回修改
3.接口隔離原則
使用多個(gè)專門的協(xié)議、而不是一個(gè)龐大臃腫的協(xié)議
UITableviewDelegate
UITableViewDataSource
4.依賴倒置原則
抽象不應(yīng)該依賴于具體實(shí)現(xiàn)码邻、具體實(shí)現(xiàn)可以依賴于抽象折剃。 調(diào)用接口感覺不到內(nèi)部是如何操作的
5.里氏替換原則
父類可以被子類無(wú)縫替換,且原有的功能不受任何影響
例如 KVO
6.迪米特法則
一個(gè)對(duì)象應(yīng)當(dāng)對(duì)其他對(duì)象盡可能少的了解像屋,實(shí)現(xiàn)高聚合怕犁、低耦合
推薦文章
面向?qū)ο笤O(shè)計(jì)的六大設(shè)計(jì)原則(附 Demo 及 UML 類圖)- J_Knight_
更多:iOS面試題合集