Factory - 单独的 Factory 类以创建复杂的对象。
例如:FruitFactory 类创建 Fruit 对象
class FruitFactory{
public static Fruit getFruit(){...}
}
工厂方法- 而不是工厂的整个单独类,只需在该类本身中添加一个方法作为工厂。
前任:
Calendar.getInstance() (Java's Calendar)
抽象工厂方法——工厂的工厂
例如:假设我们要建立计算机零件工厂。所以有几种类型的计算机,如笔记本电脑、台式机、服务器。
因此,对于每种计算机类型,我们都需要工厂。所以我们创建了一个像下面这样的高级工厂
ComputerTypeAbstractFactory.getComputerPartFactory(String computerType) ---> This will return PartFactory which can be one of these ServerPartFactory, LaptopPartFactory, DesktopPartFactory.
现在这三个本身又是工厂。(您将处理 PartFactory 本身,但在后台,将根据您在抽象工厂中提供的内容进行单独的实现)
Interface-> PartFactory. getComputerPart(String s),
Implementations -> ServerPartFactory, LaptopPartFactory, DesktopPartFactory.
Usage:
new ComputerTypeAbstractFactory().getFactory(“Laptop”).getComputerPart(“RAM”)
编辑:根据评论中的反对意见进行编辑,为抽象工厂提供准确的接口。