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