简单工厂模式,工厂模式,抽象工厂模式
2013-09-05 17:17
267 查看
三种模式看了一天,记录下自己的理解
HeadFirst,比萨店为例
1,简单工厂模式
一个具体的工厂类SimplePizzaFactory
一个抽象的产品类Pizza,可以派生出多个具体的产品类
客户:PizzaStore类
工厂类SimplePizzaFactory类关联产品类Pizza,工厂生产出不同类型的Pizza
客户类PizzaStore类关联工厂SimplePizzaFactory类,客户类PizzaStore通过工厂类得到的某种类型的Pizza,可以对具体Pizza进行烘烤,切片等操作,来提供Pizza
2,工厂模式
一个抽象产品类Pizza,可以派生出多个具体产品类
一个抽象工厂类PizzaStore,可以派生出多个具体工厂类
每个具体工厂类(Pizza店)只能创建一个具体产品类的实例,如纽约Pizza店,芝加哥Pizza店
3,抽象工厂模式
多个抽象产品类(Dough,Sauce,Cheese...),可以派生出多个具体产品类
一个抽象工厂类(PizzaInGredientFactory),可以派生出多个具体工厂类
每个具体工厂类(PizzaInGredientFactory),可以创建多个具体产品类的实例
这里把NYPizzaStore看着客户,从PizzaStore的角度理解
HeadFirst,比萨店为例
1,简单工厂模式
一个具体的工厂类SimplePizzaFactory
一个抽象的产品类Pizza,可以派生出多个具体的产品类
客户:PizzaStore类
工厂类SimplePizzaFactory类关联产品类Pizza,工厂生产出不同类型的Pizza
客户类PizzaStore类关联工厂SimplePizzaFactory类,客户类PizzaStore通过工厂类得到的某种类型的Pizza,可以对具体Pizza进行烘烤,切片等操作,来提供Pizza
2,工厂模式
一个抽象产品类Pizza,可以派生出多个具体产品类
一个抽象工厂类PizzaStore,可以派生出多个具体工厂类
每个具体工厂类(Pizza店)只能创建一个具体产品类的实例,如纽约Pizza店,芝加哥Pizza店
3,抽象工厂模式
多个抽象产品类(Dough,Sauce,Cheese...),可以派生出多个具体产品类
一个抽象工厂类(PizzaInGredientFactory),可以派生出多个具体工厂类
每个具体工厂类(PizzaInGredientFactory),可以创建多个具体产品类的实例
这里把NYPizzaStore看着客户,从PizzaStore的角度理解
相关文章推荐
- Qt设计模式系列——三个工厂模式(简单工厂模式,工厂方法模式,抽象工厂模式)
- 设计模式-6.简单工厂模式、工厂模式、抽象工厂模式
- 设计模式(简单工厂模式,工厂模式,抽象工厂模式)
- 设计模式之简单工厂模式,工厂模式,抽象工厂模式学习总结
- 设计模式系列——三个工厂模式(简单工厂模式,工厂方法模式,抽象工厂模式)
- C++设计模式之1-工厂模式(简单工厂模式-工厂方法模式-抽象工厂模式)
- 工厂模式,简单工厂模式,抽象工厂模式三者有什么区别
- C++设计模式——简单工厂模式、工厂模式、抽象工厂模式
- 2 简单工厂模式、工厂模式、抽象工厂模式
- 简单工厂模式、工厂模式、抽象工厂模式
- 简单工厂模式,工厂模式,抽象工厂模式
- 简单工厂模式 工厂模式 抽象工厂模式
- 工厂模式,简单工厂模式,抽象工厂模式三者有什么区别
- Java工厂模式---之简单工厂模式,工厂模式,抽象工厂模式
- 设计模式系列——三个工厂模式(简单工厂模式,工厂方法模式,抽象工厂模式)
- 简单工厂模式,工厂模式【Factory Pattern】,抽象工厂模式
- 【女朋友系列之找女朋友篇】简单工厂模式,工厂模式,抽象工厂模式
- 最常用的设计模式----工厂模式家族(简单工厂模式, 工厂方法模式, 抽象工厂模式)
- 设计模式系列——三个工厂模式(简单工厂模式,工厂方法模式,抽象工厂模式)
- 工厂模式(简单工厂模式,工厂方法模式,抽象工厂模式)