1、為什麼要用簡單工廠模式?
簡單工廠模式是建立型模式,建立型的模式是用來將物件的建立和物件的使用分離,讓客戶端在使用物件時無需關心物件的建立細節,從而降低了系統的耦合度,讓設計方案易於更改和擴充套件。
在設計簡單工廠模式時,一方面不能將所有的產品物件都放在乙個類中,這樣會顯得非常亂,另一方面也不能只是單純的將各個類分離開來,然後新建各個單獨的類,那麼一定有一些共同的模組在各個類中重複的定義,必然會造成**的重複,以及命名上的無規則,所以應該將一些重複的方法放到乙個抽象產品類中供所有類呼叫,將一些命名相同但實現不同的部分在抽象類中宣告為抽象方法,然後讓具體的子類去根據需要實現,各個類不同的部分在各個子類中定義,**模板如下:
抽象產品類,samemethod方法是所有產品類都共有的方法
abstract
class
product
}
具體產品類b,實現抽象產品類中定義的抽象方法
class
concreteproductb
:product
}
具體產品類a
class
concreteproducta
:product
}
建立物件的工廠類,根據引數建立物件,讓客戶端只使用物件讓其和建立物件分離。
class
factory
else
return product ;
}}
客戶端呼叫類
product product = factory.
getinstance
("a");
product.
diffmethod()
;
設計模式 工廠模式(簡單工廠)
一 簡單工廠 定義 簡單工廠模式 factory pattern 屬於類的創新型模式,又叫靜態工廠方法模式 static factorymethod pattern 是通過專門定義乙個類來負責建立其他類的例項,被建立的例項通常都具有共同的父類。特點 工廠類直接實現,乙個產品介面,乙個工廠類可以產生多...
設計模式(簡單工廠模式 工廠模式 抽象工廠模式)
當邏輯較為簡單時,可以直接建立對應的類。如下 include using namespace std class class banana class pear intmain 通過此 可以發現,使用者直接與客戶接觸,違背了dip 依賴倒轉 原則,過於麻煩,所以引出簡單工廠模式。include us...
設計模式 簡單工廠設計模式
請用任意一種物件導向語言實現計算器控制台程式,要求輸入兩個數和運算符號,得到結果。operation運算類 public class operation set public double numberb set public virtual double getresult 加減乘除類 using...