Intro前面幾篇文章已經(jīng)把創(chuàng)建型設(shè)計模式都介紹了,來做一個簡單的總結(jié)。 創(chuàng)建型設(shè)計模式,就是用來創(chuàng)建對象的設(shè)計模式,根據(jù)要創(chuàng)建的對象的復(fù)雜度以及是否允許多實例以及是否需要容易擴展等多方面考慮去選擇合適的設(shè)計模式來創(chuàng)建對象。 Summary單例模式(Singleton)需要保證保證一個類僅有一個實例的時候需要考慮使用單例模式,搭配依賴注入框架使用會更香哈 原型模式(Prototype)對象頻繁復(fù)制,對象的大多數(shù)元素(屬性/字段)相同,需要頻繁創(chuàng)建對象考慮使用原型模式,讓對象創(chuàng)建更容易,需要注意深復(fù)制淺復(fù)制區(qū)別 建造者模式(Builder)對象比較復(fù)雜,需要大量的配置參數(shù),創(chuàng)建過程復(fù)雜,考慮使用建造者模式,讓復(fù)雜的創(chuàng)建過程簡單化 抽象工廠(AbstractFactory)抽象工廠,提供一系列相關(guān)或相互依賴對象的接口,而無需指定他們具體的類,由具體的工廠創(chuàng)建具體類型的實例 工廠方法(FactoryMethod)工廠方法模式定義一個用于創(chuàng)建對象的接口,讓子類決定實例化哪一個類,工廠方法使一個類的實例化延遲到子類。 類的創(chuàng)建由具體的工廠相應(yīng)的方法創(chuàng)建具體的實例 More抽象工廠的工廠是類;工廠方法的工廠是方法。 抽象工廠關(guān)鍵在于產(chǎn)品之間的抽象關(guān)系,所以一般至少要兩個產(chǎn)品;工廠方法在于生成產(chǎn)品,不關(guān)注產(chǎn)品間的關(guān)系,所以 可以只生成一個產(chǎn)品。 |
|