怎麼學習好設計模式

2021-10-05 02:19:08 字數 1060 閱讀 9684

1:設計模式的概念

軟體設計模式(software design pattern),又稱設計模式,是一套被反覆使用、多數人知曉的、經過分類編目的、**設計經驗的總結。它描述了在軟體設計過程中的一些不斷重**生的問題,以及該問題的解決方案。也就是說,它是解決特定問題的一系列套路,是前輩們的**設計經驗的總結,具有一定的普遍性,可以反覆使用。其目的是為了提高**的可重用性、**的可讀性和**的可靠性。

2:學習設計模式的意義

設計模式的本質是物件導向設計原則的實際運用,是對類的封裝性、繼承性和多型性以及類的關聯關係和組合關係的充分理解。正確使用設計模式具有以下優點。

可以提高程式設計師的思維能力、程式設計能力和設計能力。

使程式設計更加標準化、**編制更加工程化,使軟體開發效率大大提高,從而縮短軟體的開發周期。

使設計的**可重用性高、可讀性強、可靠性高、靈活性好、可維護性強。

3:如何學習好設計模式

在學習乙個設計模式的時候,你首先要了解它幾個基本要素:模式名稱、別名、動機、問題、解決方案、效果、結構、模式角色、合作關係、實現方法、適用性、已知應用、例程、模式擴充套件和相關模式等,其中最關鍵的元素包括以下 4 個主要部分。

模式名稱

每乙個模式都有自己的名字,通常用一兩個詞來描述,可以根據模式的問題、特點、解決方案、功能和效果來命名。模式名稱(patternname)有助於我們理解和記憶該模式,也方便我們來討論自己的設計。

問題問題(problem)描述了該模式的應用環境,即何時使用該模式。它解釋了設計問題和問題存在的前因後果,以及必須滿足的一系列先決條件。

解決方案

模式問題的解決方案(solution)包括設計的組成成分、它們之間的相互關係及各自的職責和協作方式。因為模式就像乙個模板,可應用於多種不同場合,所以解決方案並不描述乙個特定而具體的設計或實現,而是提供設計問題的抽象描述和怎樣用乙個具有一般意義的元素組合(類或物件的 組合)來解決這個問題。

效果描述了模式的應用效果以及使用該模式應該權衡的問題,即模式的優缺點。主要是對時間和空間的衡量,以及該模式對系統的靈活性、擴充性、可移植性的影響,也考慮其實現問題。顯式地列出這些效果(consequence)對理解和評價這些模式有很大的幫助。

設計模式怎麼解決設計問題

1.尋找合適的物件,如何將現實世界種的物件抽象出來,或者找出現實世界中不存在的物件,這步將直接導致後面設計的好壞。因為如果不能找到合適的物件,那麼你的設計又將在 呢?2.決定物件的粒度 盡量將粒度細化到最小,比如你認為4個輪子的是汽車,那如果出現了8個輪子的汽車那將怎麼辦呢?3.將物件通用的操作定義...

學習設計模式 原型設計模式

先想一下既然要建立新的例項,為什麼不直接使用 new 而要設計出乙個原型模式進行例項的複製呢?這是因為 有的時候,我們也會在不指定類名的前提下生成例項,例如像圖形編輯器中拖動現有的模型工具製作圖形的例項,這種是非常典型的生成例項的過程太過複雜,很難根據類來生成例項場景,因此需要根據現有的例項來生成新...

C 事件 事件學習好例子

一 委託的簡介 二 事件的簡介 三 委託和事件的使用 四 總結 一 委託的簡介 1 委託的宣告 delegate handlername parameters 例如 public delegate void printhandler string str 委託宣告定義了一種型別,它用一組特定的引數以...