美文网首页
工厂方法和抽象工厂的联系与区别

工厂方法和抽象工厂的联系与区别

作者: 卢纪超 | 来源:发表于2020-06-08 10:16 被阅读0次

一.抽象工厂和工厂方法的概念

抽象工厂:提供一个接口,用来创建相关或依赖对象的家族,而不需要明确指定具体类

工厂方法:定义了一个创建对象的接口,单由自雷决定要实例化的类是拿一个.工厂方法让类把实例化推迟到了子类

二.抽象工厂和工厂方法的联系

抽象工厂的每个方法实际上看起来都像是工厂方法.每个方法都被声明成抽象,而子类的方法覆盖这些方法来创建某些对象.

抽象工厂的方法经常以工厂方法的方式实现.抽象工厂的任务是定义一个负责创建一组产品的接口.这个接口内的每个方法都负责创建一个具体的产品,同时利用实现抽象工厂的子类来提供具体的做法.

所以在抽象工厂中利用工厂方法实现生产方法是相当自然的做法.

三.抽象工厂和工厂方法的区别

1.创建对象的方法不同

工厂方法:是通过继承的方式创建对象.这就意味着,利用工厂方法创建对象,需要扩展一个类,并覆盖它的工厂方法.通过子类创建,只需要知道它们所使用的抽象类型,由子类负责决定具体类型.换句话说,工厂方法只负责从具体类型中解耦.

抽象工厂:是通过对象的组合.提供一个用来创建一个产品家族的抽象类型,这个类型的子类定义了产品的方法.要想使用这个工厂,必须先实例化它,然后将它传入到一些针对抽象类型缩写的代码中.

2.功能

工厂方法:把客户代码从需要实例化的具体类中解耦.或者目前还不知道将来需要实例化那些具体类时,也可以用它.使用时只需要将工厂方法继承给子类,并实现它的工厂方法.

抽象工厂:需要创建产品家族和让制造的相关产品家族集合起来时,您可以使用它.

四.抽象方法和方法工厂举例:

1.工厂方法

工厂方法

2.抽象工厂

抽象工厂

相关文章

  • 工厂方法和抽象工厂的联系与区别

    一.抽象工厂和工厂方法的概念 抽象工厂:提供一个接口,用来创建相关或依赖对象的家族,而不需要明确指定具体类 工厂方...

  • 设计模式-工厂模式<二>

    今天来学习下工厂方法模式. 工厂方法模式与简单工厂模式最大区别在于,工厂方法抽象了一个定义生产产品的工厂接口,具体...

  • 抽象工厂模式(选择产品簇)

    目录 回顾众多工厂模式 抽象工厂模式的理念 抽象工厂模式与工厂方法模式的差异 怎么来实现抽象工厂模式 抽象工厂模式...

  • 设计模式之静态工厂、工厂方法和抽象工厂的联系与区别

    解析: 开闭原则:对扩展开放,对修改封闭。静态工厂增加需要是修改源代码,对修改不封闭,不符合开闭原则。 Simpl...

  • 工厂模式

    工厂模式 问题: 工厂模式分为几类? GOF 23种设计模式中,工厂方法模式和抽象工厂模式有什么区别? 不在GOF...

  • 设计模式-工厂模式

    工厂模式概念 实例化对象,用工厂方法代替new操作。工厂模式包括工厂方法模式和抽象工厂模式。抽象工厂模式是工厂模式...

  • 设计模式(3) 抽象工厂模式

    抽象工厂模式 优化抽象工厂 异步工厂 在学习抽象工厂模式前,先来回顾一下前面的简单工厂和工厂方法模式。简单工厂的职...

  • 工厂模式(工厂方法模式和抽象工厂模式)

    1.简单工厂: 简单工厂不属于23种设计模式的一种,他是工厂方法和抽象工厂的基础,工厂方法和抽象是简单工厂的演进。...

  • 设计模式[3]-抽象工厂模式-Abstract Factory

    1.抽象工厂模式介绍 抽象工厂模式是创建型设计模式,可以创建一组对象。与工厂方法模式相比,抽象工厂模式中的具体工厂...

  • 1: 简单工厂模式

    一. 基本概念 定义 实例化对象,用工厂方法代替new操作 工厂模式包括工厂方法模式和抽象工厂模式 抽象工厂模式是...

网友评论

      本文标题:工厂方法和抽象工厂的联系与区别

      本文链接:https://www.haomeiwen.com/subject/tyynzhtx.html