設計模式能夠分爲:建立型,結構型,行爲型三種模式。算法
用來指定某一個類只有一個實例,提供一個全局的訪問點。設計模式
一個工廠類經過傳入的參數決定來實例化哪種須要的對象。設計
提供一個接口,根據接口用來實例化對象,須要指定實現類。代理
能夠看作是工廠模式的工廠,用來實例化其餘工廠,其餘工廠用來建立對象,直接從其餘工廠獲取不一樣類別的對象,不須要指定實現類。cdn
建立一個複雜的對象時能夠按照指定步驟一步一步來建立對象。對象
經過對一個已經實例化了的對象複製來建立對象blog
適配一個與客戶端不兼容的接口,讓不一樣的類型的兩個接口兼容,而且在一塊兒工做。接口
動態的給一個類裝飾新的方法功能。原型
一個類表明另外一個類的功能,爲其餘對象提供一個代理以控制對這個對象的訪問。it
用來定義一組不一樣類型的算法,將他們封裝起來,使得他們能夠自由替換。