C#23中設計模式——七大設計原則

一般學習一個新的知識點時,總先要看一遍理論知識,雖然看不懂,但是在看具體代碼時就會慢慢的懂得。

設計原則是前輩大牛總結出的設計模式的理論知識,有必要先學設計模式。

1.單一職責原則

一個類或接口或方法或結構體,應該只有一個引起它變化的原因,如果一個類承擔的責任太多,就相當於把這些責任耦合在一起了,一個責任可能會影響另外一個責任,不利於後期的維護。

2.開閉原則(Open-Closed Principle)

開閉原則即OCP(Open-Closed Principle縮寫)原則,該原則強調的是:一個軟件實體(指的類、函數、模塊等)應該對擴展開放,對修改關閉。即每次發生變化時,要通過添加新的代碼來增強現有類型的行爲,而不是修改原有的代碼。

符合開閉原則的最好方式是提供一個固有的接口,然後讓所有可能發生變化的類實現該接口,讓固定的接口與相關對象進行交互。

3 里氏代替原則(Liskov Substitution Principle)

面對對象編程三大特性之一繼承:所有父類出現的地方都可以用子類來代替。

此原則強調:所有父類出現的地方,必須用子類來代替,子類繼承父類的所有,所以不會對程序有所影響,子類添加新功能也不會影響父類,提高父類代碼的可重複性。

4.依賴倒置原則

依賴倒置(Dependence Inversion Principle, DIP)原則強調:抽象不要依賴細節,細節要依賴抽象,儘量用抽象來代替細節。也是面對接口編程,而不是面對實現編程,將一切細節儘量用抽象來代替可以提高代碼的可擴展,可維護性,減少代碼的耦合性。

5.接口隔離原則

接口隔離原則(Interface Segregation Principle, ISP):一個接口能不能承擔過多的細節抽象,儘量分成不同的接口,進行接口分離。

6.合成複用原則

合成複用原則(Composite Reuse Principle, CRP)就是在一個新的對象裏面使用一些已有的對象,使之成爲新對象的一部分。新對象通過向這些對象的委派達到複用已用功能的目的。簡單地說,就是要儘量使用合成/聚合,儘量不要使用繼承。

 

7.迪米特法則

迪米特法則(Law of Demeter,LoD)又叫最少知識原則(Least Knowledge Principle,LKP),指的是一個對象應當對其他對象有儘可能少的瞭解。也就是說,一個模塊或對象應儘量少的與其他實體之間發生相互作用,使得系統功能模塊相對獨立,這樣當一個模塊修改時,影響的模塊就會越少,擴展起來更加容易。

  關於迪米特法則其他的一些表述有:只與你直接的朋友們通信;不要跟“陌生人”說話。

  外觀模式(Facade Pattern)和中介者模式(Mediator Pattern)就使用了迪米特法則。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章