創建型設計模式總結
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
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/3504.html
標籤:C#
上一篇:WebClient,DownloadFileAsync,DownloadProgressChanged
下一篇:C#委托和事件實作觀察者模式
