什么是設計模式?為何使用他們


 

設計模式是分析過的問題和問題解決方案所闡釋的優秀實踐

每個模式都描述着一種在我們的環境中一遍又一遍的出現的問題,並描述了對該問題的核心解決方案。以此方式你可以使用該方案上百萬次,而從不需要重復做同樣的事情

------《A Pattern Language

模式是類和對象的一種特殊組織形式,是以定義解決方案的應用條件並討論其效果的形式來組織的。

一個設計模式的核心右四部分組成:

  1. 命名:少許簡短的文字便可表示相當復雜的問題和解決方案(簡潔性、描述性)
  2. 問題:找出問題比使用模式目錄中的解決方案更難;這正是某些模式的解決方案被無用的原因之一
  3. 解決方案:雖然問題的解決方案總是相同的,但是實際采用的步驟依賴於各種因素
  4. 效果

模式結構只要組成部分

  1. 意圖:模式目的的簡要概括
  2. 動機:需要被解決的為問題
  3. 適用性:檢驗不同情況下你是否可以應用某模式
  4. 結構/交互:描述解決方案中類和對象之間的關系
  5. 實現:着眼於解決方案的細節,介紹了應用解決方案時可能發生的問題,並提供了部署的技巧
  6. 示例代碼:范例通常都會被簡化以突出解決方案的核心內容
  7. 已知應用:(三法則:一次出現是偶然現象,兩次出現是巧合,三次出現才可稱為一個模式)
  8. 相關模式:在使用某個模式時,可以創造出另一個模式使用的條件(模式間的合作)

為什么使用設計模式

  1. 一個設計模式定義了一個問題(有時找到解決方案的第一步便是認清你面對的問題)
  2. 一個設計模式定義了一個解決方案
  3. 設計模式是語言無關的(模式以面向對象的方式來定義對象和解決方案)
  4. 模式定義了一組詞匯(通過給開發人員提供技術的名稱,模式使溝通更加豐富;技術是超越它們的命名和組織的)
  5. 模式是經過測試的(在面向對象環境中,模式代表着最佳實踐)
  6. 模式是為協作而設計的(模式生來就是“可生成的”和“可組成的”)
  7. 設計模式促進良好設計(設計模式示范應用了面向對象原則)

 

原文發自:wenjun.in


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM