工厂模式举例

Posted ivy_0709

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了工厂模式举例相关的知识,希望对你有一定的参考价值。

1.简单:简单工厂类里最重要的创建物体的方法。把创建对象的细节封装到一个单独的类中,当需要增加或删除时修改此类即可。

如下图所示,其实就是把 createPizza方法从PizzaStore类中分离开到一个单独的类中,这个类SimpleFactory类就是简单工厂类。

 

2.中等:把对象的创建委托给子类,子类实现工厂方法(也就是createPizza方法)来创建对象。

createPizza放到对应的子类中实现了。子类PizzaStore 根据 传入pizza类型参数 实现具体的createPizza。

Pizza的子类也增加为”Style“ + ”Type“的组合。

3.复杂:考虑如何生成不同Style和不同Type的Pizza。假设其根本原因在于其原料的不同,所以在Pizza类中增加一个 原料工厂类成员。

工厂原料类:创建相关的对象家族的产品。createProduct() 而不是 create(Product)。

而这个原料工厂类具体是什么,由上一层具体的PizzaStore来指定。

比如NYPizzaStore,指定制作Pizza的原料用NYPizzaIngredientFactory。

 

 总之,所有的工厂方法都是用来封装对象的创建。

参考:《headfirst设计模式》

以上是关于工厂模式举例的主要内容,如果未能解决你的问题,请参考以下文章

简单工厂模式(详细)(举例饮料)

设计模式之工厂模式类图

Objective-C 工厂模式(上) -- 简单工厂模式

设计模式—工厂模式

设计模式之普通工厂模式

Java设计模式学习记录-抽象工厂模式