前言
代碼要想寫的好汛兜,設(shè)計(jì)模式不能少。只有能熟練運(yùn)用面向?qū)ο蟮牧笤瓌t,開發(fā)項(xiàng)目的時(shí)候才能寫出漂亮而且易于修改的代碼酿联。
1.單一職責(zé)原則 (SRP)
它的定義是:就一個(gè)類而言乖订,應(yīng)該僅有一個(gè)引起它變化的原因扮饶。
說白了就是,一個(gè)類中是一組相關(guān)性和高的函數(shù)乍构,一個(gè)類盡量只實(shí)現(xiàn)一個(gè)功能甜无。
2.開閉原則 (OCP)
它的定義是:程序中的對象應(yīng)該對應(yīng)擴(kuò)展是開放的,對于修改是封閉的哥遮。
這個(gè)意思就是說岂丘,當(dāng)一個(gè)類實(shí)現(xiàn)了一個(gè)功能的時(shí)候,如果想要改變這個(gè)功能不是去修改代碼眠饮,而是通過擴(kuò)展的方式去實(shí)現(xiàn)奥帘。實(shí)現(xiàn)該類提供的接口方法,然后注入到該類中仪召,通過這種方法去實(shí)現(xiàn)功能的改變寨蹋。
3.里氏替換原則 (LSP)
它的定義是:所有引用基類的地方必須能透明的使用其子類對象。
說白了就是扔茅,只要父類能出現(xiàn)的地方子類就可以出現(xiàn)已旧,替換為子類也不會(huì)產(chǎn)生任何的錯(cuò)誤。開閉原則一般可以通過里氏替換實(shí)現(xiàn)對擴(kuò)展開放召娜,對修改關(guān)閉的效果运褪。
4.依賴倒置原則 (DIP)
它指的是:模塊間的依賴通過抽象發(fā)生,實(shí)現(xiàn)類之間不發(fā)生直接的依賴關(guān)系萤晴,其依賴關(guān)系是通過接口或抽象類產(chǎn)生的吐句。即依賴抽象,而不依賴具體的實(shí)現(xiàn)店读。
5.接口隔離原則 (ISP)
它的定義是:客戶端不應(yīng)該依賴它不需要的接口嗦枢。
它的目的是:解開系統(tǒng)的耦合,從而容易重構(gòu)更改屯断。
6.迪米特原則 (LOD)
它的定義是:一個(gè)對象應(yīng)該對其他對象有最少的了解
通俗的說文虏,一個(gè)類應(yīng)該對自己需要耦合或調(diào)用的類知道的越少越好,類的內(nèi)部如何實(shí)現(xiàn)與調(diào)用者或依賴者沒關(guān)系殖演。