1,單一職責(zé)
一個(gè)類只做一件事
CALayer:動(dòng)畫和視圖的顯示
UIView:只負(fù)責(zé)時(shí)間傳遞、事件響應(yīng)
2,開閉原則
,對(duì)修改關(guān)閉,對(duì)擴(kuò)展開放
要考慮到后續(xù)的擴(kuò)展性,而不是在原有的基礎(chǔ)上來回修改
3,接口隔離原則
使用多個(gè)專門的協(xié)議\而不是一個(gè)龐大臃腫的協(xié)議
UITableviewDelegate
UITableViewDataSource
4,依賴倒置原則
抽象不應(yīng)該依賴于具體實(shí)現(xiàn)、具體實(shí)現(xiàn)可以依賴于抽象。 調(diào)用接口感覺不到內(nèi)部是如何操作的
5,里氏替換原則
父類可以被子類無縫替換,且原有的功能不受任何影響
例如kvo
6.迪米特法則
一個(gè)對(duì)象應(yīng)當(dāng)對(duì)其他對(duì)象盡可能少的了解,實(shí)現(xiàn)高聚合、低耦合