簡單工廠設計模式不屬於23種設計模式,但通過它可以更好的學習工廠方法設計模式和抽象工廠設計模式。
簡單工廠設計模式流程:
1)將需要的不同物件的相關**封裝到不同的類中,這些類成為產品類。
2)將它們相同的**封裝到乙個抽象類產品類中,每乙個產品類都是這個抽象產品類的子類
3)最後提供乙個工廠類,在工廠類中提供乙個(或多個)建立產品的工廠方法,該方法可以通過傳入的物件返回不同的產品物件。
—>建立抽象產品類
inte***ce
chart
—>產品類繼承自抽象產品類
class histogramchart : chart
public
void
display()
}class piechart : chart
public
void
display()
}class linechart : chart
{public
linechart()
public
void
display()
}
—>工廠類主要需要乙個靜態方法,根據傳入的引數決定返回具體的產品類物件
class chartfactory
return chart;
}}
任何工廠類都強調一點:如果有兩個類a和b,那麼只能a建立b或a使用b,不能將建立職責和使用職責放在同乙個類中。
簡化工廠模式:我們可以把工廠類的靜態方法放在產品抽象類中:
abstract class product
}class concreteproducta : product
public
override
void
display()
}class concreteproductb : product
public
override
void
display()
}
設計模式(2) 簡單工廠模式
簡單工廠模式的實質是由乙個工廠類根據傳入的引數,動態決定應該建立哪乙個產品類 這些產品類繼承自乙個父類或介面 的例項。工廠 creator 角色 簡單工廠模式的核心,它負責實現建立所有例項的內部邏輯。工廠類的建立產品類的方法可以被外界直接呼叫,建立所需的產品物件。抽象產品 product 角色 簡單...
設計模式2 簡單工廠模式
可維護,可復用,可擴充套件,靈活性好 通過繼承,封裝,多型將程式的耦合度降低 將計算機的計算過程獨立 為乙個功能 a.將 計算過程抽象為基類 抽象類,b.加減乘除四個子類繼承 基類 c.um 簡單工廠 繼承 空心三角形 實線 介面 空心三角形 虛線 依賴 虛線 箭頭 關聯 實線 箭頭 組合關係 實心...
設計模式之 工廠模式(簡單工廠模式2)
工廠類是指包含乙個專門用來建立其他物件的方法的類,工廠類在多型性程式設計實踐中是至關重要的,它允許動態的替換類,修改配置,通常會使應用程式更加 靈活,熟練掌握工廠模式高階php開發人員是很重要的。工廠模式通常用來返回符合類似介面的不同的類,工廠的一種常見用法就是建立多型的提供者,從而允許我們基於應用...