設計模式[一]---設計模式的六大原則

設計模式(Design pattern)代表了最佳的實踐,通常被有經驗的面向對象的軟件開發人員所採用。設計模式是軟件開發人員在軟件開發過程中面臨的一般問題的解決方案。這些解決方案是衆多軟件開發人員經過相當長的一段時間的試驗和錯誤總結出來的。
**

什麼是 GOF(四人幫,全拼 Gang of Four)?

**
在 1994 年,由 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides 四人合著出版了一本名爲 Design Patterns - Elements of Reusable Object-Oriented Software(中文譯名:設計模式 - 可複用的面向對象軟件元素) 的書,該書首次提到了軟件開發中設計模式的概念。

四位作者合稱 GOF(四人幫,全拼 Gang of Four)。他們所提出的設計模式主要是基於以下的面向對象設計原則。

下面用一個圖片來整體描述一下設計模式之間的關係:
在這裏插入圖片描述

下面將介紹設計模式的六大原則:

- 單一職責: 類的設計儘量做到只有一個原因可以引起它的改變
- 里氏替換 : 只要父類出現的地方子類就可以出現,且替換成子類也不會出現任何錯誤或者異常;子類可以繼承父類的私有方法以外的所有方法和非私有的屬性,重寫可以覆蓋掉父類中同名同參數的方法。

子類必須完全實現父類的方法。

子類可以有自己獨立的屬性和方法。

覆蓋或實現父類的方法時輸入參數可能會被放大。(如果子類給的參數範圍大於父類,不會被執行到,要求子類給參數類型必須等於父類)。

- 依賴倒置:針對接口編程,而不是針對實現編程
- 迪米特法則:類之間的調用,最好不要知道被調用者中其他信息,只要知道對應的接口即可。具體如何實現不需要知道,或者越少越好。
- 接口隔離:不要建立臃腫龐大的接口。即接口儘量細化,同時接口中的方法儘量少,接口實現的作用越簡單越好,最好是隻針對某一項相同對象的
- 開閉原則:一個軟件實體,比如類,模塊,函數應該對擴展開放,對修改關閉

有時候並不能覺得違反了某項原則,或者因爲某項原則去增加系統的複雜度,這樣後期維護起來將會是很痛苦的一件事情,所以,這就需要有個度,當然這個度肯定不好把握,也沒有限定,只有在項目中多實戰,才能把握好這個度;

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