創建型設計模式總結 Intro 前面幾篇文章已經把創建型設計模式都介紹了,來做一個簡單的總結。 創建型設計模式,就是用來創建對象的設計模式,根據要創建的對象的複雜度以及是否允許多實例以及是否需要容易擴展等多方面考慮去選擇合適的設計模式來創建對象。 Summary 單例模式(Singleton) 需要 ...
創建型設計模式總結
Intro
前面幾篇文章已經把創建型設計模式都介紹了,來做一個簡單的總結。
創建型設計模式,就是用來創建對象的設計模式,根據要創建的對象的複雜度以及是否允許多實例以及是否需要容易擴展等多方面考慮去選擇合適的設計模式來創建對象。
Summary
單例模式(Singleton)
需要保證保證一個類僅有一個實例的時候需要考慮使用單例模式,搭配依賴註入框架使用會更香哈
原型模式(Prototype)
對象頻繁複制,對象的大多數元素(屬性/欄位)相同,需要頻繁創建對象考慮使用原型模式,讓對象創建更容易,需要註意深複製淺複製區別
建造者模式(Builder)
對象比較複雜,需要大量的配置參數,創建過程複雜,考慮使用建造者模式,讓複雜的創建過程簡單化
抽象工廠(AbstractFactory)
抽象工廠,提供一系列相關或相互依賴對象的介面,而無需指定他們具體的類,由具體的工廠創建具體類型的實例
工廠方法(FactoryMethod)
工廠方法模式定義一個用於創建對象的介面,讓子類決定實例化哪一個類,工廠方法使一個類的實例化延遲到子類。
類的創建由具體的工廠相應的方法創建具體的實例
More
抽象工廠的工廠是類;工廠方法的工廠是方法。
抽象工廠關鍵在於產品之間的抽象關係,所以一般至少要兩個產品;工廠方法在於生成產品,不關註產品間的關係,所以可以只生成一個產品。
Reference
- https://www.cnblogs.com/weihanli/p/factory-patterns.html
- https://www.cnblogs.com/weihanli/p/13303393.html
- https://www.cnblogs.com/weihanli/p/prototype-pattern.html
- https://www.cnblogs.com/weihanli/p/builder-pattern.html
- https://github.com/WeihanLi/DesignPatterns