of設計模式

1/6ページ

設計模式介紹之一:開篇概述

    這是一系列文章,原本是我撰寫的公司內部講義。最近重新熟悉設計模式翻了出來,再溫習一下。     本文的目的: 介紹設計模式 在開發過程中主動使用設計模式 使用設計模式來重構已有程式碼 不是完整的設計模式參考和詳解,僅僅是推薦     什麼是設計模式    設計模式的系統性概念是 GoF 整理 […]

設計模式介紹之三:命令模式(command)

    命令(模式)的結構很簡單,但對於消除程式碼間的耦合卻有著重要的影響。     在 C 語言中我們經常使用回撥函式,而命令模式是回撥( callback )的物件導向的替代物。從最直觀的角度來看,命令模式就是一個函式物件:一個作為物件的函式。通過將函式封裝為物件,就能夠以引數的形式將其傳遞給其 […]

設計模式介紹之四:模板方法(Template Method)模式

    在前面的文章中我們比較過框架和設計模式,一般的應用程式框架中都會大量用到設計模式。應用程式開發框架允許從一個或一組類中繼承以便建立一個新的應用程式,重用現存類中幾乎所有的程式碼,並且覆蓋其中一個或多個函式以便自定義所需要的應用程式。     應用程式開發框架中的一個基本的概念是模板方法( T […]

設計模式介紹之五:工廠模式(factory)

    我們在實現一個軟體系統時,經常遇到新增新型別的情況,沒有設計模式經驗的開發者會採取比較直接的方式,定義一個類,在用這個類的模組中引入該類所在的標頭檔案,使用 new 操作符從堆上分配一個物件,不需要的時候呼叫 delete 來刪除物件回收記憶體。隨著型別越來越多,這種分配物件的操作遍佈程式碼 […]

設計模式介紹之六:工廠模式(factory)的巧妙實現

    本文展示了實際專案中使用到的一個工廠模式實現,在向系統中新增新型別時,只需要在新型別的實現檔案這一處做改動,將新增型別對應用程式程式碼的干擾降到了最低。     這個工廠實現的基本思想是:繼承自同一個介面的新型別,通過一個函式來建立其物件,利用C 中類的建構函式會被自動呼叫這一特性,在新型別 […]

設計模式介紹之七:觀察者模式(observer)

    觀察者模式(又稱釋出/訂閱模式)定義物件間的一種一對多的依賴關係,當一個物件的狀態發生改變時,,所有依賴於它的物件都得到通知並被自動更新。     常見的應用程式框架中有很多觀察者模式的應用,比如 MFC 的 Doc/View ,Qt 中的訊號與槽、 Model/View Architect […]

設計模式介紹之八:職責鏈模式(Chain of responsibility)

    職責鏈模式使得一個軟體系統中的多個物件都有機會處理請求,將這些物件連成一條鏈,並沿著這條鏈傳遞該請求,直到有一個物件處理它為止,從而避免請求的傳送者和接收者之間產生強耦合關係。     常見的應用程式框架中有很多職責鏈模式的應用,比如 MFC 中的訊息處理機制、 Android 中的按鍵處理 […]

設計模式簡述 – 原則

OO基本關係 面型物件設計的原則易維護 易擴充套件 易複用 靈活多樣   單一職責原則 對一個類來說 承擔的指責太多等於將職責耦合在了一起,一個職責發生變化時可能會小若或者抑制這個類完成其他的職責,耦合會導致脆弱的設計。發生變化時可能會產生意想不到的錯誤。軟體設計要做的就是發現職責並相互分離。。   […]