衝高級——篇一 之 七大軟件設計原則

簡潔版:

囉嗦版:

開閉原則:一個軟件中的實體如 類,模塊和函數應對修改關閉,對擴展開放,用抽象構建框架,用實現擴展細節。

優點:提高軟件的可複用性以及可維護性。

依賴倒置原則:高層模塊不應依賴低層模塊,兩者都應依賴於其抽象

針對接口編程,而不是針對細節編程。有大局觀,細節依賴於抽象,抽象不能依賴於細節

優點:減少類之間的耦合性,提高系統的穩定性,提高代碼可讀性,可維護性,可降低修改程序帶來的風險

單一職責原則:一個類只負責某一職責,一個方法只負責這個類負責的職責的某一項具體職責

優點:降低程序的複雜性,提高類的可讀性,提高系統的可維護性,降低修改代碼帶來的風險

接口隔離原則:儘量將接口細化,但也要適度,用多個專門的接口,而不是一個總的接口,並且避免實現不必要的接口.

接口中的方法儘可能少

優點:降低程序的複雜性,提高類的可讀性,提高系統的可維護性,降低修改代碼帶來的風險

迪米特法則:一個對象應該對其它對象保持最少的瞭解,又叫最少知道原則。強調只和朋友交流,不和陌生人說話

朋友是指:成員變量,方法參數,方法返回值中包含的類

優點:降低類之間的耦合

合成複用原則:能不用繼承就不用繼承,儘量使用對象組合,聚合方式來實現軟件的複用的目的

優點:降低耦合,提高系統的靈活度,降低類與類之間的耦合度,使一個類的修改對其它類影響更小

里氏替換原則:子類可以擴展父類的功能但是不能修改父類原有的功能

1.子類可實現父類的抽象方法但是不能覆蓋父類的非抽象方法,

2.子類可增加自己特有的方法

 

 

 

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