簡單工廠模式:定義乙個工廠類,它可以根據引數的不同返回不同類的例項,被建立的例項通常都具有共同的父類。因為在簡單工廠模式中用於建立例項的方法是靜態方法,因此簡單工廠模式又被成為靜態工廠方法模式,它屬於類建立類模式。簡單工廠模式的要點在於:當你需要什麼,只需要傳入乙個正確的引數,就可以獲取你所需要的物件,而無須知道其建立細節。
簡單工廠模式的缺點是:
1. 工廠類過於龐大,包含了大量的if…else**,導致為何和測試的難度增大。
2. 系統擴充套件不靈活,如果增加新型別的產品,必須修改靜態工廠方法的業務邏輯,違反了開閉原則。
因為簡單工廠模式的缺點,所以引入工廠方法模式來解決這個問題
工廠方法模式:定義乙個用於建立物件的介面,讓子類決定將哪個類例項化。工廠方法模式讓乙個類的例項化延遲到其子類。在工廠方法模式中,不再提供乙個統一的工廠類來建立所有的產品物件,而且針對不同的產品提供不同的工廠,系統提供乙個與產品等級結構對應的工廠等級結構。
抽象工廠模式和工廠方法模式最大的區別是,工廠方法針對的是產品等級,而抽象工廠建立的是產品族。
apache幾種工作模式對比
apache2主要的優勢就是對多處理器的支援更好,在編譯時同過使用 with mpm選項來決定apache2的工作模式。如果知道當前的apache2使用什麼工作機制,可以通過httpd l命令列出apache的所有模組,就可以知道其工作方式 prefork 如果 httpd l列出prefork.c...
C 設計模式 幾種工廠模式
嚴格來說,簡單工廠模式不屬於gof設計模式範圍內,這裡拿來用作比較學習。簡言之,簡單工廠指的是,有乙個工廠,可以生產不同的產品,產品有乙個抽象類,不同的實際產品類實現抽象類。如下 include using namespace std factory class car class benz pub...
工廠模式 三種工廠模式對比分析
將構建過程封裝的好處不僅可以降低耦合如果某個產品構造方法相當複雜,使用工廠模式可以大大減少 重複。總而言之,簡單工廠模式就是讓乙個工廠類承擔構建所有物件的職責。呼叫者需要什麼產品,讓工廠生產出來即可。它的弊端也顯而易見 一是如果需要生產的產品過多,此模式會導致工廠類過於龐大,承擔過多的職責,變成超級...