目录
1、抽象工厂模式 -- 创建对象
抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。
在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。
2、代码
限于篇幅,直接参考文章:https://www.runoob.com/design-pattern/abstract-factory-pattern.html
关键的工厂生成类:
FactoryProducer.java
获取工厂的方法为静态方法(方法区中首先生成),可以通过类名直接调用。
public class FactoryProducer {
// 静态方法,可以直接通过类名调用
public static AbstractFactory getFactory(String choice){
if(choice.equalsIgnoreCase("SHAPE")){
return new ShapeFactory();
} else if(choice.equalsIgnoreCase("COLOR")){
return new ColorFactory();
}
return null;
}
}
3、总结
- 抽象工厂模式:和工厂模式的本质原理一样。只不过抽象工厂模式通过虚拟超级工厂返回的不是普通对象,而是工厂对象,这些工厂对象可以再通过工厂模式返回其支持的具体对象。
- 其他特点:https://www.runoob.com/design-pattern/abstract-factory-pattern.html