1. 程式人生 > >設計模式之初理解

設計模式之初理解

什麼是設計模式?

簡單的說,它是一個程式碼設計經驗的一個總結(一種套路),經過反覆的使用,被多數人知曉,不斷的分類而衍生出來。是為人們解決某類重複出現問題的一套成功或有效的解決方案。

為什麼要使用設計模式?

每個模式都描述了我們在程式設計過程中出現的各種問題,使用設計模式,可以增加程式碼的可重用性、讓程式碼更容易的被他人理解、保證程式碼的可靠性。
設計模式使得程式設計更加工程化,就像建築中的設計框架一樣,它是軟體工程的基石脈絡。

起源?

哈佛大學的建築學博士克里斯托弗-亞歷山大,是建築學領域的模式之父。他和他的團隊發現人們對舒適住宅和周圍環境有一些共同的認同規律,並將他們歸納成為253個模式。對每個模式從前提條件、目標問題、解決方案三個方面進行了描述,並給出了從需求分析到結構設計再到經典例項的過程模型。

GOF(一個四人組)將模式的概念引入軟體工程領域,軟體模式從此誕生。當然軟體模式包含的種類有很多,除了我們現在正在學的設計模式之外,還有架構模式、分析模式、過程模式等等。在軟體開發週期的每一個階段都存在者一些被認同的設計模式 。

分類?

我們先階段所學的設計模式總共有24個(23個GOF設計模式+1個簡單工廠模式),23個GOF設計模式按照他們的用途可以分為建立型、結構型和行為型,下篇將會一一介紹。而簡單工廠模式並沒有遵循設計模式六大原則中的開放封閉原則,在這裡並沒有為它分類,而是單拿出來講解。

建立型:主要描述物件的建立
結構型:設計如何組合類和物件已獲得更大的結構,主要採用繼承機制來組合介面或實現。
行為型

:用來描述類或物件怎樣互動以及怎樣分配職責,使用繼承機制在類間分配行為。

主要分類
在這裡插入圖片描述

ps——簡單工廠模式
簡單工廠模式的基本思想就是定義一個工廠類,他可以根據引數的不同返回不同類的例項,被建立的例項通常都是具有共同的父類。這樣就無需知道建立的細節,降低了程式碼的耦合。