我所理解的設計模式(C++實現)——簡單工廠模式(Simple Factory Pattern)
簡單工廠模式按照設計模式型別分的話是屬於建立型模式,他是工廠模式中最簡單的一種,他不屬於GoF 23中設計模式之一,但是是簡單實用的。他是有一個工廠物件來決定建立哪一種物件的例項。
實現比較簡單,這裡我只貼出類圖和呼叫方法:
呼叫方法:
IProduct * simpleFactory::Create(std::string className)
{
if( className == "Ipad")
return new Ipad();
if(className == "IPhone")
return new IPhone();
}
優點:外界只要傳入類的名字或者識別符即可,不需要關心具體建立過程,只顧“消費”就可以了。各有各的指責和權力,分工明確,利於整個軟體架構優化。
缺點:違反裡高內聚責任分配原則,將全部邏輯放到一個工廠類中,如果需要支援新的類,那就必須改變工廠類了。
這裡只有一種工廠,一個系列的產品,那如果有多個系列的產品呢?問題如何解決?
應用場景:
1. 我的asp.net程式需要根據客戶實際所用資料庫來配置,那麼我的程式支援所有的資料庫,具體用到哪個,配置檔案配置一下即可。這個C#/Java裡的反射就可以實現。
2. MFC裡的Seralize功能。
LCL_data原創於CSDN.NET【http://blog.csdn.net/lcl_data/article/details/8712171】
相關文章
- 我所理解的設計模式(C++實現)——抽象工廠模式(Abstract Factory Pattern)設計模式C++抽象
- 我所理解的設計模式(C++實現)——工廠方法模式(Factory Method Pattern)設計模式C++
- 簡單工廠模式(Simple Factory Pattern)模式
- 簡單工廠模式( Simple Factory Pattern )模式
- JAVA設計模式之 簡單工廠模式【Simple Factory Pattern】Java設計模式
- 使用C# (.NET Core) 實現簡單工廠(Simple Factory) 和工廠方法設計模式 (Factory Method Pattern)C#設計模式
- 設計模式筆記:簡單工廠模式(Simple Factory)設計模式筆記
- PHP設計模式(一)簡單工廠模式 (Simple Factory For PHP)PHP設計模式
- 設計模式的征途—2.簡單工廠(Simple Factory)模式設計模式
- 簡單工廠模式(simple factory)及程式碼實現模式
- 我所理解的設計模式(C++實現)——單例模式(Singleton Pattern)設計模式C++單例
- 設計模式--抽象工廠模式(Abstract Factory Pattern)設計模式抽象
- 設計模式--工廠方法模式(Factory Method Pattern)設計模式
- 設計模式-抽象工廠模式(Abstract Factory Pattern)設計模式抽象
- 設計模式實戰 – 抽象工廠模式(Abstract Factory Pattern)設計模式抽象
- 設計模式實戰 - 抽象工廠模式(Abstract Factory Pattern)設計模式抽象
- 我所理解的設計模式(C++實現)——原型模式(Prototype Pattern)設計模式C++原型
- 我所理解的設計模式(C++實現)——建造者模式(Builder Pattern)設計模式C++UI
- 我所理解的設計模式(C++實現)——橋模式(Bridge Pattern)設計模式C++
- 我所理解的設計模式(C++實現)——組合模式(Composite Pattern)設計模式C++
- 設計模式系列之工廠模式三兄弟(Factory Pattern)設計模式
- JAVA設計模式之 工廠方法模式【Factory Method Pattern】Java設計模式
- JAVA設計模式之 抽象工廠模式【Abstract Factory Pattern】Java設計模式抽象
- 我所理解的設計模式(C++實現)——介面卡模式(Adapter Pattern)設計模式C++APT
- 【圖解設計模式系列】The Abstract Factory Pattern: 抽象工廠模式圖解設計模式抽象
- 設計模式-C#實現簡單工廠模式設計模式C#
- 工廠模式(簡單工廠模式)快速理解模式
- 設計模式-簡單工廠、工廠方法模式、抽象工廠模式設計模式抽象
- 《設計模式》 - 2. 工廠模式( Factory )設計模式
- 設計模式--工廠模式Factory(建立型)設計模式
- Java設計模式之工廠模式(Factory)Java設計模式
- 設計模式 - 簡單工廠模式設計模式
- 【設計模式】簡單工廠模式設計模式
- 設計模式——簡單工廠模式設計模式
- 設計模式-簡單工廠模式設計模式
- C# 設計模式(1)——簡單工廠模式、工廠模式、抽象工廠模式C#設計模式抽象
- Scala 與設計模式(四):Factory 工廠模式設計模式
- 設計模式之工廠方法模式(FACTORY METHOD)設計模式