11
設計模式簡介 Ted

Design pattern intro

Embed Size (px)

Citation preview

Page 1: Design pattern intro

設計模式簡介Ted

Page 2: Design pattern intro

設計模式源自建築學和人類學

• Christopher Alexander 認為建築系統中存在一種著可以客觀度量以及描述美的方法

• 文化人類學的一個重要得分支,就是尋找描述一種文化的行為和價值觀的模式

Page 3: Design pattern intro

• 在優秀的設計中具備而在劣質的設計中不具備的是甚麼?

• 在劣質的設計中具備以及在優秀設計中不具備的是甚麼?

• 模式 : 在某一背景下某個問題的一種解決方案

• 每個模式都描述一個不斷重複的問題,並進而敘述了解決方案的要素,但具體的方式又不會完全相同

Page 4: Design pattern intro
Page 5: Design pattern intro

• 模式的描述

• 名稱

• 目的

• 實作方法

• 限制和約束

Page 6: Design pattern intro

為什麼要學習設計模式

• Reuse 解決方案

• 確立通用術語

• 提供觀察問題,設計過程和物件導向的更高視角,避免我們過早處理細節

Page 7: Design pattern intro

• 製作抽屜的問題

• 模式有助於更高層次的思考

Page 8: Design pattern intro

設計模式的其他好處

• 幫助開發人員個人的學習,提高團隊開發學習風氣

• 程式碼容易修改和維護

• 加深對物件導向的理解

Page 9: Design pattern intro

Facade

• 定義一個更高層的介面,使子系統更加容易使用

• 提供更簡單的方法與系統交流

Page 10: Design pattern intro

• 意圖:希望剪化原有系統的使用方式 • 問題:只需要使用某個複雜系統的子集,或者需要以一種特殊的方式與系統交流

• 解決方案:façade為原有系統的客戶提供了一個新的介面 • 參與者與協作者:為客戶提供一個簡化介面,更容易使用 • 效果:façade模式簡化了對所需子系統的使用過程,由於

façade並不提供完整的功能,客戶可能無法使用某些功能

• 實作:定義一個或多個具備所需介面的新類別;讓新的類別使用原有的系統

Page 11: Design pattern intro

• Façade模式提出了一種通用方法,建立了新介面供客戶使用, 客戶並不需要原有系統的所有功能

• 追蹤系統的使用情況

• 改換系統