設計模式之總結與回顧

2021-09-06 09:28:13 字數 1034 閱讀 4934

第一篇:設計模式之建立型模式

第二篇:設計模式之結構型模式

第三篇:設計模式之行為型模式

從2023年初聽說設計模式,到現在雖然已經8年多了,但gof的23種模式依然盛行,當然gof提出這些模式的年代更加久遠(2023年)。

在工作的過程中,陸陸續續接觸了gof的大部分模式,我記得在2023年的時候就想總結一下設計模式(最近想做的兩件事情),最後因為各種原因也沒有完成。最近這段時間正好是職業空檔期,沒什麼事兒做,就把之前看過的設計模式翻出來整理了一下,於是就有了上面幾篇文章。

整理設計模式的過程,也是乙個深刻理解物件導向設計的過程。通過對各個模式的回顧,讓我更能夠明白前輩們關於物件導向設計提出的各種「最佳實踐」,特別是s.o.l.i.d,我覺得在這裡再說一次,也不算矯情。

s:單一職責原則(single responsibility principle, srp),乙個類只能有乙個原因使其發生改變,即乙個類只承擔乙個職責。

o:開放-封閉原則(open-close principle, ocp),這裡指我們的設計應該針對擴充套件開放,針對修改關閉,即盡量以擴充套件的方式來維護系統。

l:黎克特制替換原則(liskov subsititution principle, lsp),它表示我們可以在**中使用任意子類來替代父類並且程式不受影響,這樣可以保證我們使用「繼承」並沒有破壞父類。

i:介面隔離原則(inte***ce segregation principle, isp),客戶端不應該依賴於它不需要的介面,兩個類之間的依賴應該建立在最小介面的基礎上。這條原則的目的是為了讓那些使用相同介面的類只需要實現特定必要的一組方法,而不是大量沒用的方法。

d:依賴倒置原則(dependence inversion principle, dip),高層模組不應該依賴於低層模組,兩者應該都依賴於抽象;抽象不依賴於細節,而細節應該依賴於抽象。這裡主要是提倡「面向介面」程式設計,而非「面向實現」程式設計。

設計模式,從本質上講,是針對過去某種經驗的總結。每種設計模式,都是為了在特定條件下去解決特定問題,離開這些前提去討論設計模式,是沒有意義的。

下面,我們快速回顧gof的23種模式。

設計模式總結之工廠模式

除了直接使用new之外,還有更多製造物件的方法。工廠模式可以使例項化的活動不公開進行,也可以解決因初始化而造成的耦合問題。工廠模式是一種常見的模式,在安卓中bitmapfactory也是使用的簡單工廠,但其實現起來的難度卻很高。工廠模式有以下幾個優點 1.可以使 清晰,有效的封裝變化。將變化封裝在工...

設計模式總結之模式分類

話說這個世界還是混沌之時,盤古掄起一把大斧,開闢了天與地,從此,這個世界有天有地,萬事萬物在這個世界才慢慢發展起來。話說軟體江湖還是混沌之時,無門無派,無招無式,gof gang of four,四個大師 窮理之熟,融會貫通,合著了 design patterns elements of reusa...

常見設計模式回顧 工廠模式

工廠模式是最常見的建立型模式,也是大多數人學習設計模式的起點。工廠模式屬於建立型模式,隱藏了物件建立的細節 這裡我們來看一下幾種常用的工廠模式 1.簡單工廠 public inte ce icar public class factory 簡單工廠類 factory 又被稱為 上帝類 想要創造什麼就...