简单工厂模式:定义一个创建对象的工厂接口,将创建的具体细节交给子类实现。按照业务场景划分:工厂模式可以分为:简单工厂模式,工厂方法模式,抽象工厂模式
简单工厂模式之所以称为简单是因为:创建的产品不多,只需要一个工厂就可以完成。简单工厂也被称之为静态工厂模式,是因为该工厂内用于创建实例的方法通常为静态
优点:
- 工厂类决定什么时候创建那种类型的产品,调用方则不需要考虑太多
缺点:
- 简单工厂模式工厂类单一,负责全部的创建逻辑
- 产品新增时,需要扩展工厂
应用场景:
- 产品种类相对较少
实现方法:
- 简单工厂:是简单工厂模式的核心,负责创建需要的实例,
- 抽象产品:是工厂所创建的所有产品的抽象父类
- 具体产品:工厂所创建的具体目标
示例:
public class SimpleFactoryDemo {public static void main(String[] args) {SimpleFactory.create(1).show();// 产品1}// 创建对象的工厂static class SimpleFactory{public static Product create(int i){switch (i){case 1:return new p1();case 2:return new p2();}return null;}}// 产品抽象基类interface Product{void show();}// 产品1static class p1 implements Product {@Overridepublic void show() {System.out.println("产品1");}}// 产品2static class p2 implements Product{@Overridepublic void show() {System.out.println("产品2");}}}
