簡單工廠 工廠模式 抽象工廠模式

2021-07-30 10:07:32 字數 2554 閱讀 8208

簡單工廠模式

public

class operation

set}

public

double numberb

set}

public

virtual

double

getresult()

}//加減乘除類

class operationadd:operation

}class operationsub:operation

}class operationmul:operation

}class operationdiv:operation

}public

class operationfactory

case

"-":

case

"*":

case

"/":

}return oper;

}}//客戶端**

operation oper;

oper=operationfactory.createoperate("+");

oper.numbera=1;

oper.numberb=2;

double result=oper.getresult;

//只需輸入運算符號,工廠就例項化合適的物件,通過多型,

返回父類的方式實現了計算器結果

工廠模式

工廠方法模式:定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類。工廠方法使乙個類的例項化延遲到其子類。

}//加減乘除類

class operationadd : operation

}class operationsub : operation

}//先構建工廠介面

inte***ce ifactory

//加減乘除各建乙個具體工廠去實現這個介面

class addfactory : ifactory

}class subfactory : ifactory

}class program

}抽象工廠模式

class department

set

}private

string deptname;

public

string deptname

set }}

inte***ce idepartment

class sqlserverdepartment : idepartment

public department getdepartment(int id)

}class accessdepartment : idepartment

public department getdepartment(int id)

}class user

set}

public

string name

set}

}inte***ce iuser

class sqlserveruser : iuser

public user getuser(int id)

}class accessuser : iuser

public user getuser(int id)

}inte***ce ifactory

class sqlserve***ctory : ifactory

public idepartment createdepartment()

}class accessfactory : ifactory

public idepartment createdepartment()

}class program

}

建立型模式,共五種:工廠方法模式、抽象工廠模式、單例模式、建造者模式、原型模式。

結構型模式,共七種:介面卡模式、裝飾器模式、**模式、外觀模式、橋接模式、組合模式、享元模式。

行為型模式,共十一種:策略模式、模板方法模式、觀察者模式、迭代子模式、責任鏈模式、命令模式、備忘錄模式、狀態模式、訪問者模式、中介者模式、直譯器模式。

簡單工廠模式,工廠模式,抽象工廠模式

三種模式看了一天,記錄下自己的理解 headfirst,比薩店為例 1,簡單工廠模式 乙個具體的工廠類 pizzafactory 乙個抽象的產品類pizza,可以派生出多個具體的產品類 客戶 pizzastore類 工廠類 pizzafactory類關聯產品類pizza,工廠生產出不同型別的pizz...

簡單工廠模式 工廠模式 抽象工廠模式

簡單工廠模式 簡單工廠模式的最大優點在於工廠類中包含了必要的邏輯判斷,根據客戶端的選擇條件動態例項化相關類,對於客戶端來說,去除了與具體產品的依賴。但增加功能時,需增加 case 邏輯判斷分支條件,修改了原有的類,我們不但對擴充套件開發了,對修改也開放了,違背了開放 封閉原則。工廠方法模式,定義了乙...

簡單工廠模式 工廠模式 抽象工廠模式

其實這個三個c 的設計模式已經學習很長時間了,今晚才想起來要寫這三個設計模式,為什麼要用c 中的設計模式呢?for example,你已經會開車了,正著開,倒著開,轉彎,這些都是開車基本的,但是你並沒有很高的車技,並不會炫酷。漂移,就好像c 中的設計模式一樣,在你學好c 的基礎上,嫻熟的應用出的新技...