什麼是設計模式?
設計模式是乙個通過定義、使用、測試去解決問題的方法。設計模式是在物件導向程式設計思想被發揚光大之後被人熟知的。
在軟體工程中,設計模式是一般只針對設計中在給定條件下會重複性發生的問題而提出的一種通用性的可重用解決方案。
設計模式不是一種可以直接轉化為**的完整設計。它多用於描述在不同情況下解決問題的通用方案。
設計模式的概念在電腦科學領域的普及主要歸功於2023年《設計模式:可復用物件導向軟體的基礎》一書的出版。即著名的gof四人幫。
設計模式的分類
gof共提出了23種設計模式。大體分為如下三種型別:
創造型模式:注重於完成物件的例項化。相對於一般直接例項化物件,設計模式會根據實際情況有選擇地進行完成物件的例項化,這會為業務邏輯高度複雜化的情景提供足夠的靈活。
根據gof的定義,創造型模式主要包括五種:
結構型模式:用於指導我們完成**的結構劃分。這樣的結構設計能讓**更加清晰和易於理解,提高整體的可維護性。
根據gof的定義,結構型設計模式主要包括7種:
行為型設計模式:主要用於定義物件之間的通訊和控制流程。其中主要的設計模式都非常注重優化物件見的資料互動方式。
根據gof的定義,行為型設計模式主要包括11種:
對於初學者來說,學習設計模式很枯燥。有時候不知道該記住什麼內容。所以我們在學習過程中,需要弄清楚一下問題:
模式名稱?
模式型別?(創造or結構or行為)
模式的作用或者目的?
什麼情況下使用該模式?
能否舉例該模式的例項(面試常考)?
畫出uml圖(面試常考)?具體是使用類圖還是互動圖
都有哪些物件在模式中參加活動?最好能列出模式中使用的物件和類,並說明各自角色?
在該模式中,使用類和物件是如何進行互動的?
通過該設計模式能夠獲得什麼效果?有沒有***?如何權衡利弊?
如何實現該模式(面試常考)?
設計模式 設計模式簡介
本次系列的文章摘自 設計模式 可復用物件導向軟體工程的基礎 erich gamma 等著,李英軍 等 譯 本文只是對設計模式做乙個簡單的介紹。設計模式一樣而言,有四個基本要素 1 設計模式 2 問題 3 解決方案 4 效果。設計模式是對被用來在特定的場景下解決一般設計問題的類和相互通訊的物件的描述。...
設計模式簡介
設計模式 design pattern 是一套被反覆使用 多數人知曉的 經過分類編目的 設計經驗的總結。設計模式是軟體工程 的基石脈絡,如同大廈 的結構一樣。模式名稱 pattern name 問題 problem 解決方案 solution 效果 consequences 設計模式分為三種型別,共...
設計模式簡介
1.裝飾模式 顧名思義,裝飾模式就是給乙個物件增加一些新得功能,而且是動態的,要求裝飾物件和被裝飾物件實現同乙個介面,且裝飾物件中持有被裝飾物件的乙個例項.2.觀察者模式 簡單來說,當乙個物件變化時,其他依賴該物件的物件都會收到通知,並且隨著變化 物件之間是一種一對多的關係.3.工廠模式 客戶端需要...