設計模式 建立型模式之工廠方法模式

2021-08-17 17:03:35 字數 1394 閱讀 8819

工廠方法模式同樣是屬於類的建立型模式,又被稱為多型工廠模式。工廠方法模式是定義乙個建立產品物件的工廠介面,實際建立工作由它的子類來完成。核心的工廠類不再負責產品的建立,這樣核心類成為乙個抽象工廠角色,僅負責具體工廠子類必須實現的介面。

1.抽象工廠角色:工廠方法模式的核心,工廠類必須要實現這個介面

2.具體工廠角色:具體工廠類是抽象工廠的乙個實現,負責產品物件的例項化

3.抽象角色:工廠方法模式所建立的所有物件的父類,負責描述所有物件所共有的公共介面

4.具體產品角色:工廠方法模式所建立的例項化物件

1.工廠方法模式比簡單工廠模式多了乙個抽象工廠角色,

2.將簡單工廠的工廠角色拆分成具體的工廠角色:就是說簡單工廠模式就乙個工廠角色負責建立所有產品的例項,而工廠方法模式將乙個工廠角色拆分成多個具體的工廠角色,每個具體的工廠角色負責建立它們具體的產品例項

3.由上面兩點得出:工廠方法模式在有新的產品加入時可以不用再修改具體的工廠角色,而不像簡單工廠一樣在有新的產品加入時可能要修改工廠角色的**。

4.工廠方法模式由簡單工廠模式公升級而來,也可以降級為簡單工廠模式

抽象角色--定義所有產品物件的共有公共介面

public inte***ce flower
具體產品角色---實現了抽象角色--介面flower

public class chrysanthemum  implements flower 

}public class sakura implements flower

}public class rugosa implements flower

}

抽象工廠角色--定義所有工廠類的共有公共介面

public inte***ce flowe***ctory
具體工廠角色--實現了抽象工廠角色--介面flowe***ctory

public class chrysanthemunfactory implements flowe***ctory

}public class sakurafactory implements flowe***ctory

}public class rugosafactory implements flowe***ctory

}

測試:

public class factorymain 

}

測試結果:

Python設計模式 建立型模式 工廠方法模式

描述 coding utf 8 class product def operation self pass class concrete product1 product def operation self return the result of concreteproduct1 class c...

建立型模式 工廠方法設計模式

主要分為四個角色 1 工廠角色 負責建立具體產品 2 父類產品 作為所有產品的父類,用抽象類表示 3 子類產品 具體的產品 4 客戶程式 使用工廠和產品的程式 父類產品 服裝類 public abstract class clothes 子類產品1 褲子 public class trousers ...

建立型模式之工廠方法模式

複習用,不適合初學。複習用,不適合初學。複習用,不適合初學。定義 factory method pattern 工廠父類負責定義建立產品物件的公共介面,而工廠子類則負責生成具體的產品物件,這樣做的目的是將產品類的例項化操作延遲到工廠子類中完成。define an inte ce for creati...