【发布时间】:2020-10-07 07:35:57
【问题描述】:
请注意;工厂,而不是抽象工厂。
说,有一个接口 Shape 与具体类如Pentagon。假设一个抽象类 Quadrilateral 实现了Shape 并有自己的具体类型,例如Square。
这仍然被认为是工厂方法吗?
【问题讨论】:
-
如果你问一个类是否可以有多个工厂方法,答案是肯定的。
-
感谢您的提示,但您能澄清一下吗? @jaco0646
-
我要问的是:指的是例如here、
shape是一个接口;如果它也有一个名为quadrilateral的抽象类并有自己的实现,那么该图是否仍然是工厂模式? -
@AMoses 工厂将创建一个新的 Square 实例,所以是的,它仍然是工厂模式。抽象类 Quadrilateral 永远无法实例化。
-
@AMoses 您正在寻找的是抽象工厂模式,它可以在同一站点tutorialspoint.com/design_pattern/abstract_factory_pattern.htm 中找到当您想要解耦创建类似类型的对象系列时(例如在您的情况下) ,其中 Shape 是最通用的, Quadrilateral 或 Circle based 是一个系列),您使用抽象工厂。
标签: java design-patterns factory-pattern