1. 程式人生 > >大話設計模式巨集觀總結——建立型&結構型&行為型

大話設計模式巨集觀總結——建立型&結構型&行為型

  師傅驗收專案的時候,問大話設計模式那三種類型的區別和聯絡是什麼,頓時我傻了眼,因為除了知道這三種類型分別怎樣稱呼以外,從來都沒想過為什麼這樣劃分?於是,我便回答:我沒想過這個問題,若是從字面上來理解的話,建立型應該負責的框架,結構型負責的應該是內部結構吧~然後師傅沒說對錯,只是說,不管自己是如何理解的,都要學會去驗證~

  然後,我很自覺地開啟了新的一篇部落格總結之旅~

導圖 

  建立型模式


  結構型模式

 

  行為型模式

分類總結

  我們通常根據兩條準則對模式進行分類,第一條準準則是目的,如下表所示:
  建立型模式與物件的建立有關;結構型模式處理類或物件的組合,它採用繼承機制來組合介面或實現(類結構型模式),或者通過組合一些物件,從而實現新的功能(物件結構型模式);行為型模式對類或物件怎樣互動和怎樣分配職責進行描述。


  第二是範圍準則,指定模式主要是用於類還是用於物件。類模式處理類和子類之間的關係,這些關係通過繼承建立,是靜態的,在編譯時刻便確定下來了。物件模式處理物件間的關係,這些關係在執行時刻是可以變化的,更具動態性。從某種意義上來說,幾乎所有模式都使用繼承機制,所以“類模式”只指那些集中於處理類間關係的模式,而大部分模式都屬於物件模式的範疇。

  建立型類模式將物件的部分建立工作延遲到子類,而建立型物件模式則將它延遲到另一個物件中。結構型類模式使用繼承機制來組合類,而結構型物件模式則描述了物件的組裝方式。行為型類模式使用繼承描述演算法和控制流,而行為型物件模式則描述一組物件怎樣協作完成單個物件所無法完成的任務。

我的理解

  在總結這篇部落格的時候,我又看了些相關的部落格,之後,就一直在想如何用生動形象的生活化的例子來體現出三者之間的區別和聯絡,下面就說明一下我的理解,不當之處還望斧正~

  建立型模式為其他兩種模式使用提供了環境,好比VS軟體提供了.net環境和操作平臺,是各種程式語言能隨心所欲地在這個平臺上編譯執行;

結構型模式側重於介面的使用(自我感覺),它做的一切工作都是物件或是類之間的互動,提供一個門,成就一個你來我往,協同合作的地球村;

  行為型模式顧名思義,側重於具體行為,所以概念中才會出現職責分配和演算法通訊等內容。

  將三者結合起來成為故事,中美合作的故事——建立型模式提供國際環境,無戰爭,求發展;結構型模式為中美合作提供理由,即和平時代的互利共贏,行為型模式就具體到兩個大國之間是如何合作,比如經濟合作、文化合作等~