抽象工厂模式与工厂方法模式的区别
2011-08-04 09:38
267 查看
在进行重新学习设计模式的时候,感觉两种设计模式有很多地方很相似,但一时也不好区别。很头疼。通过以前的学习,对两个模式的区别进行了汇总,保证是最全的区别:
1 定义:
工厂方法模式:定义用户创建对象的接口,让子类决定实例化那一个类。
抽象工厂模式:提供一个创建 一系列相关或相互依赖对象的接口,而无需制定他们的具体的类。
2 职能分析:
工厂方法模式:核心工厂类不负责所有产品的创建,而是将具体创建工作交给子类去做。这个核心类仅仅负责给出具体工厂必须实现的接口,而不参与实例化细节。
工厂方法模式可以在不修改工厂角色的情况下引进新产品,该模式中,工厂类与产品类是一一对应,并且是平行等级的结构。
抽象工厂模式:1. 用抽象工厂生产抽象产品
2.用实体工厂生产实体产品
3 .用抽象产品提供实体产品访问接口
4.用实体产品实现自己的功能
3结构模型图
4 总结一下:
工厂设计模式: 1.一个抽象产品类,可以派生出多个具体产品类
2.一个抽象工厂类,可以派生出多个具体工厂类
3.每个具体工厂类,只能创建一个具体产品的实例
抽象设计模式:1.多个抽象产品类,可以派生出多个具体产品类
2.一个抽象工厂类,可以派生出多个具体工厂类
3.每个具体工厂类,可以创建多个具体类的实例
1 定义:
工厂方法模式:定义用户创建对象的接口,让子类决定实例化那一个类。
抽象工厂模式:提供一个创建 一系列相关或相互依赖对象的接口,而无需制定他们的具体的类。
2 职能分析:
工厂方法模式:核心工厂类不负责所有产品的创建,而是将具体创建工作交给子类去做。这个核心类仅仅负责给出具体工厂必须实现的接口,而不参与实例化细节。
工厂方法模式可以在不修改工厂角色的情况下引进新产品,该模式中,工厂类与产品类是一一对应,并且是平行等级的结构。
抽象工厂模式:1. 用抽象工厂生产抽象产品
2.用实体工厂生产实体产品
3 .用抽象产品提供实体产品访问接口
4.用实体产品实现自己的功能
3结构模型图
4 总结一下:
工厂设计模式: 1.一个抽象产品类,可以派生出多个具体产品类
2.一个抽象工厂类,可以派生出多个具体工厂类
3.每个具体工厂类,只能创建一个具体产品的实例
抽象设计模式:1.多个抽象产品类,可以派生出多个具体产品类
2.一个抽象工厂类,可以派生出多个具体工厂类
3.每个具体工厂类,可以创建多个具体类的实例
相关文章推荐
- java23种设计模式-----简单工厂模式、工厂方法模式、抽象工厂模式的区别
- 简单工厂模式、工厂方法模式、抽象工厂模式的区别
- 简单工厂模式、工厂方法模式、抽象工厂模式的区别小结
- 转载:抽象工厂模式-与-工厂方法模式区别
- 工厂方法模式与抽象工厂模式的区别
- 工厂方法模式与抽象工厂模式的区别
- 简单工厂模式、工厂方法模式和抽象工厂模式的区别
- 抽象工厂模式-与-工厂方法模式区别
- 【设计模式】简单工厂模式、工厂方法模式和抽象工厂模式区别与联系
- 工厂方法模式与抽象工厂模式的区别
- 简单工厂模式、工厂方法模式和抽象工厂模式的区别
- 抽象工厂模式和工厂方法模式的区别
- 工厂方法模式与抽象工厂模式的区别
- JAVA设计模式☞☞工厂方法模式和抽象工厂模式区别
- 简单工厂模式,工厂方法模式,抽象工厂模式区别
- 抽象工厂模式-与-工厂方法模式区别
- 工厂方法模式与抽象工厂模式的区别
- 抽象工厂模式,工厂方法模式区别
- 简单工厂模式、工厂方法模式和抽象工厂模式的区别
- 简单工厂模式、工厂方法模式、抽象工厂模式 、策略模式及策略与工厂之间的区别