鄉下人設計模式——SOLID之六大原則

  S(Single Responsibility Principle):單一責任原則編程

  O(Open Closed Principle):開放封閉原則對象

  L(Liskov Substitution Principle):里氏替換原則接口

  L(Law of Demeter):迪米特法則ip

  I(Interface Segregation Principle):接口分離原則ci

  D(Dependence Inversion Principle):依賴倒置原則it

 

單一責任原則: 
當須要修改某個類的時候緣由有且只有一個(THERE SHOULD NEVER BE MORE THAN ONE REASON FOR A CLASS TO CHANGE)。換句話說就是讓一個類只作一種類型責任,當這個類須要承當其餘類型的責任的時候,就須要分解這個類。 就是一個類只負責一個職責io

 

開放封閉原則 
軟件實體應該是可擴展,而不可修改的。也就是說,對擴展是開放的,而對修改是封閉的。這個原則是諸多面向對象編程原則中最抽象,開閉原則中的對擴展開放,若是在項目中添加一個功能的時候,能夠直接對代碼進行擴展。若是要修改某一部分的功能時,咱們應該作的是,儘可能少作修改(徹底不修改是不可能的),可是修改的時候,要保留原來的功能,只是在上面擴展出新的功能,就像版本更新同樣,更新後,依然支持舊版本。面向對象編程

 

里氏替換原則 
當一個子類的實例應該可以替換任何其超類的實例時,它們之間才具備is-A關係 ast

 

迪米特原則 擴展

迪米特法則也叫最少知道原則(Least Knowledge Principle, LKP ),雖然名稱不一樣,但都是同一個意思:一個對象應該對其餘對象有最少的瞭解,好比:咱們在寫一個類的時候,應該儘量的少暴露本身的接口。在寫類的時候,能不 public 就不 public ,全部暴露的屬性或是接口,都是不得不暴露的,這樣的話,就能保證其餘類對這個類有最少的瞭解了。

 

依賴倒置原則
1. 高層模塊不該該依賴於低層模塊,兩者都應該依賴於抽象 
2. 抽象不該該依賴於細節

3. 細節應該依賴於抽象 

咱們要儘量使用接口或抽象類。也就是「面向接口編程」 或者說 「面向抽象編程」 ,也就是說程序中要儘量使用抽象類或是接口,任何類都不該該從具體類中派生

 

接口分離原則 不能強迫用戶去依賴那些他們不使用的接口。使用多個專門的接口比使用單一的總接口總要好。客戶端不該該依賴它不須要的接口,類間的依賴關係應該創建在最小的接口上。單一職責原則是按照 職責進行劃分接口的,而接口隔離原則則是按照實現類對方法的使用來劃分的

相關文章
相關標籤/搜索