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