工厂模式(factory pattern)和抽象工厂模式(abstract factory pattern)的区别

工厂模式和抽象工厂模式的主要区别在于,工厂模式提供了一种创建对象的方法,而不指定用于创建对象的确切类;而抽象工厂模式提供了一种组合一组单独工厂的方法,而不指定它们的具体类。...

工厂模式和抽象工厂模式的主要区别在于,工厂模式提供了一种创建对象的方法,而不指定用于创建对象的确切类;而抽象工厂模式提供了一种组合一组单独工厂的方法,而不指定它们的具体类。

设计模式是解决软件开发人员在开发软件时遇到的一般问题的方法。它们是泛型的,不依赖于系统类型或编程语言。此外,它们是经过验证的解决方案,并提供了最佳实践。设计模式有三种类型:创造性、结构性和行为性。创造模式提供了一种在隐藏创造逻辑的同时创建对象的方法。此外,它们使程序更加灵活。工厂模式和抽象工厂模式就是这样两种创造性的设计模式。

覆盖的关键领域

1.什么是工厂模式-定义,功能2.什么是抽象工厂模式-定义,功能3.工厂模式和抽象工厂模式的区别是什么-关键区别的比较

关键术语

抽象工厂模式

工厂模式(factory pattern)和抽象工厂模式(abstract factory pattern)的区别

什么是工厂模式(factory pattern)?

工厂模式提供了一种创建对象的好方法。使用这种方法,程序员可以在不暴露创建逻辑的情况下创建对象。也可以使用公共接口引用新创建的对象。请参阅下面的程序。

Difference Between Factory Pattern and Abstract Factory Pattern_Figure 1

Figure 1: Shape Interface

Difference Between Factory Pattern and Abstract Factory Pattern_Figure 2

Figure 2: Rectangle Class

Difference Between Factory Pattern and Abstract Factory Pattern_Figure 3

Figure 3: Square class

Difference Between Factory Pattern and Abstract Factory Pattern_Figure 4

Figure 4: Circle class

Difference Between Factory Pattern and Abstract Factory Pattern

Figure 5: ShapeFactory class

Difference Between Factory Pattern and Abstract Factory Pattern_Figure 6

Figure 6: Main class

Shape接口有一个名为draw的抽象方法。矩形、正方形和圆形是类。它们实现了形状接口。因此,这些类为draw方法提供了一个实现。每个类中的draw方法都有自己的实现。ShapeFacotry类有一个名为getShape的方法。它得到一个字符串。此方法将根据接收到的字符串返回一个对象。

在main方法中,有一个名为shape的对象。它是ShapeFactory类型。使用该对象调用getShape方法。字符串“Rectangle”被传递给它。返回的对象存储到shape1,它是Shape类型。同样,字符串“SQUARE”和“CIRCLE”被传递给getShape。返回对象存储到shape2和shape3。每个对象调用draw方法,相应的draw方法根据传递的字符串执行。

主程序使用ShapeFactory类来获取形状对象。它将所需的字符串传递给ShapeFactory以获取所需的对象类型。

什么是抽象工厂模式(abstract factory pattern)?

抽象工厂模式使用超级工厂并创建其他工厂。它也被称为工厂的工厂。在这种模式中,接口创建相关对象的工厂,而不显式指定它们的类。换言之,在创建超级工厂之后,它可以创建其他工厂。请参阅下面的程序。

Difference Between Factory Pattern and Abstract Factory Pattern_Figure 7

Figure 7: Color interface

Difference Between Factory Pattern and Abstract Factory Pattern_Figure 8

Figure 8: Yellow class

Main Difference - Factory Pattern vs Abstract Factory Pattern

Figure 9: Orange class

Difference Between Factory Pattern and Abstract Factory Pattern_Figure 10

Figure 10:  Purple class

Difference Between Factory Pattern and Abstract Factory Pattern_Figure 11

Figure 11:  AbstractFactory class

Difference Between Factory Pattern and Abstract Factory Pattern_Figure 12

Figure 12: ShapeFactory class

Difference Between Factory Pattern and Abstract Factory Pattern_Figure 13

Figure 13: ColorFactory class

Difference Between Factory Pattern and Abstract Factory Pattern_Figure 14

Figure 14: FactoryProducer class

Difference Between Factory Pattern and Abstract Factory Pattern_Figure 15

Figure 15:  Main program

界面形状和类矩形、正方形、圆形与上一节相同。颜色是一个界面;它有一个名为fill的抽象方法。黄色、橙色和紫色类实现了该接口。因此,这些类为fill方法提供了实现。AbstrcatFactory类有两个方法:getShape和getColor。ShapeFactory类扩展了AbstractFacotry。类似地,ColorFactory类扩展了AbstractFactory。这些类有getShape和getColor方法的实现。

FactoryProducer类有一个名为getFactory的方法,该方法返回一个AbstractFactory类型对象。它根据得到的字符串返回ShapeFactory对象或ColorFactory对象或null。最后,main方法使用FactoryProducer获得AbstractFactory,从而获得具体类的工厂。

此外,main方法使用FactoryProducer获取抽象工厂对象。它将“矩形”、“正方形”、“圆形”等信息传递给AbstractFactory,以获得所需对象的类型。此外,它还传递诸如“黄色”、“橙色”、“紫色”等信息,以获得所需对象的类型。

工厂模式(factory pattern)和抽象工厂模式(abstract factory pattern)的区别

定义

工厂模式是一种创造性的模式,它使用一种方法来处理创建对象的问题,而不必指定要创建的对象的确切类。另一方面,抽象工厂模式是一种创造性的模式,它提供了一种方法来封装一组具有共同主题的单个工厂,而不指定它们的具体类。因此,这些定义解释了工厂模式和抽象工厂模式的主要区别。

隐藏结构

工厂模式和抽象工厂模式的另一个区别是,工厂模式隐藏单个对象的构造,而抽象工厂模式隐藏相关对象族的构造。

结论

工厂模式和抽象工厂模式是两种创造性的设计模式。工厂模式提供了一种创建对象的方法,无需指定用于创建对象的确切类。相反,抽象工厂模式提供了一种方法来组合一组单独的工厂,而不指定它们的具体类。因此,这是工厂模式与抽象工厂模式的主要区别。

引用

1.“工厂方法设计模式。”Javatpoint,可在此处找到。2抽象工厂模式。“Javatpoint,这里提供。 2.“抽象工厂模式”Javatpoint,

  • 发表于 2021-07-01 06:13
  • 阅读 ( 187 )
  • 分类:IT

你可能感兴趣的文章

工厂(factory)和行业(industry)的区别

工厂vs工业 一个国家和一个国家的经济发展,虽然工厂和工业是相互交织的,但两者之间有着显著的区别。工厂就是**工厂。工业是指在一个经济体中生产某种物质或服务。这是工厂和工业的主要区别。但是,当谈到整个经济...

  • 发布于 2020-11-02 04:53
  • 阅读 ( 198 )

磨坊(mill)和工厂(factory)的区别

磨机与工厂 关键区别——工厂与工厂 工厂和工厂是两个经常被混淆为同一事物的词,尽管两者之间有明显的区别。让我们来定义前两个词。磨坊一般是指装有研磨玉米的机械设备的建筑物。另一方面,工厂是指一座或多座建...

  • 发布于 2020-11-06 15:40
  • 阅读 ( 252 )

tasker应用程序工厂将tasker操作转换为独立应用程序

Android:Tasker仍然是我们最喜欢的为Android**创建自定义、自动操作的工具,新的beta版让它变得更好,它允许您将自定义设置导出为独立的应用程序。这项新功能名为App Factory,它有两种模式:一种是初学者模式,尝试为您配置应用...

  • 发布于 2021-05-26 07:34
  • 阅读 ( 121 )

工厂(factory)和行业(industry)的区别

“工厂”与“工业” 我们的经济取决于几个因素,即:;生产、交换、分配和消费商品和服务所必需的劳动、资本、资源和其他经济主体。 它同样依赖于几个经济部门或行业。在古代,经济主要以自给自足的农业为基础,直...

  • 发布于 2021-06-23 13:36
  • 阅读 ( 356 )

磨坊(mill)和工厂(factory)的区别

工厂与工厂 工厂和工厂之间有混淆吗?当谈到这两个词时,似乎没有人感到困惑。当人们说“磨坊”时,他们通常指的是面粉厂或大米厂。但是,工厂与生产某些产品的大地方有关。 磨坊是一个地方,一些研磨工作正在进行...

  • 发布于 2021-06-23 21:55
  • 阅读 ( 223 )

工厂(factory)和立面设计模式(facade design pattern)的区别

factory和facade设计模式的主要区别在于,factory设计模式是一种创造性的设计模式,它定义了一个接口或一个抽象类来创建一个对象,而facade设计模式是一种结构设计模式,它提供了一个简化的接口来表示子系统中的一组接口,从...

  • 发布于 2021-07-02 00:34
  • 阅读 ( 534 )

工厂(factory)和行业(industry)的区别

关键区别:工业是对经济有贡献的物质或服务产品的生产。工厂是实际生产产品的地方。 在许多情况下,“工厂”和“工业”这两个词可以互换使用,但这两个词的含义并不相同。实际上,工业是指经济产品的生产。这些货物...

  • 发布于 2021-07-13 13:39
  • 阅读 ( 153 )

恢复出厂设置(factory reset)和硬复位(hard reset)的区别

关键区别:工厂和硬重置两个术语与设置相关。工厂复位涉及整个系统的重新启动,而硬复位涉及系统中任何硬件的复位。 Wikipedia声明“工厂重置或主重置是将电子设备完全恢复到其工厂设置。”工厂重置会重新启动整个系统...

  • 发布于 2021-07-13 16:55
  • 阅读 ( 614 )

磨坊(mill)和工厂(factory)的区别

关键区别:研磨机是一种单元操作,旨在将固体材料分解成更小的碎片。另一方面,工厂是一座或一组建筑物,其中包含用于**或生产货物或机械的装置、设备或机械。 “工厂”和“工厂”这个词常常被混淆为同一个词,尽管...

  • 发布于 2021-07-13 17:36
  • 阅读 ( 203 )

repper将您的照片转换为抽象模式

...r you to tinker with, but you'll probably want to upload your own for some abstract art. Photos must be in JPEG format and less than 500k in size. Check out the video below to see Repper in action: As you can see from the end of the video, Repper hosts the image for you. You can share a link ...

  • 发布于 2021-07-29 02:54
  • 阅读 ( 113 )