設計模式 工廠方法

2021-10-01 20:51:24 字數 1154 閱讀 2035

工廠方法用來出來物件的建立,並將這樣的行為封裝在子類中。這樣,客戶程式中關於超類的**和子類物件物件的建立**解耦了。

工廠方法模式定義了乙個建立物件的介面,但有子類決定要例項化的類是哪乙個。工廠方法讓類把例項化推遲到子類。

把產品和工廠分隔開,都是針對產品介面進行程式設計。

我們舉個例子,使用工廠建立汽車。

首先建立乙個汽車產品介面

public inte***ce car

然後建立具體的汽車產品

public class qiya : car

public void makecar()

}public class xiandai : car

public void makecar()

}

然後建立產品工廠超類,裡面定義具體對產品的操作行為

public abstract class usecar

}

定義具體的產品工廠

public class qiyafactory:usecar

}public class xiandaifcatory : usecar

}

測試

usecar usecar = new qiyafactory();

usecar.use();

usecar = new xiandaifcatory();

usecar.use();

輸出

製作起亞汽車

開起亞汽車

製造現代汽車

開現代汽車

如果我們再要建立乙個豐田汽車產品和工廠的話,需要增加兩個地方

public class toyto : car

public void makecar()

}public class toytofactory : usecar

}

如果使用的話,也需要同步初始這個工廠

static void main(string args)

可以看出,使用工廠方法建立的類,是比較繁瑣的。

設計模式 簡單工廠 工廠方法 抽象工廠方法模式

簡介 工廠方法模式分為 簡單工廠模式 工廠方法模式 抽象工廠方法模式 簡單工廠模式是屬於建立型模式,又叫做靜態工廠方法 static factory method 模式,但不屬於23種gof設計模式之一。簡單工廠模式是由乙個工廠物件決定建立出哪一種產品類的實 uml圖示例 public class ...

設計模式 工廠方法

設計模式 工廠方法 工廠方法與抽象方法 面向介面程式設計可以提高 的靈活性 可以橫向擴充 切忌不能使用面向實現的程式設計,這樣做不便於以後業務的擴充和 的靈活性。工廠方法 就是把 new class 的過程交給 factory來做.構造類的細節不需要我們知道。比如 構造乙個 list 我們可以這樣寫...

設計模式 工廠方法

簡單工廠針對擴充套件時需要修改 違反了ocp 開閉原則 而工廠方法模式在擴充套件時,更滿足ocp。當然比較簡單工廠模式,工廠方法模式有一組實現了相同介面的工廠類,而簡單工廠模式就只有乙個工廠類。和簡單工廠方法一樣,還是以生成汽車為例子。定義要生成的物件的公共介面 public inte ce car...