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”)
编辑:根据注释中的反对意见进行编辑,以为Abstract Factory提供确切的接口。