简单工厂模式:定义一个创建对象的工厂接口,将创建的具体细节交给子类实现。按照业务场景划分:工厂模式可以分为:简单工厂模式,工厂方法模式,抽象工厂模式

    简单工厂模式之所以称为简单是因为:创建的产品不多,只需要一个工厂就可以完成。简单工厂也被称之为静态工厂模式,是因为该工厂内用于创建实例的方法通常为静态

    优点:

    1. 工厂类决定什么时候创建那种类型的产品,调用方则不需要考虑太多

    缺点:

    1. 简单工厂模式工厂类单一,负责全部的创建逻辑
    2. 产品新增时,需要扩展工厂

    应用场景:

    1. 产品种类相对较少

    实现方法:

    1. 简单工厂:是简单工厂模式的核心,负责创建需要的实例,
    2. 抽象产品:是工厂所创建的所有产品的抽象父类
    3. 具体产品:工厂所创建的具体目标

    示例:

    1. public class SimpleFactoryDemo {
    2. public static void main(String[] args) {
    3. SimpleFactory.create(1).show();// 产品1
    4. }
    5. // 创建对象的工厂
    6. static class SimpleFactory{
    7. public static Product create(int i){
    8. switch (i){
    9. case 1:
    10. return new p1();
    11. case 2:
    12. return new p2();
    13. }
    14. return null;
    15. }
    16. }
    17. // 产品抽象基类
    18. interface Product{
    19. void show();
    20. }
    21. // 产品1
    22. static class p1 implements Product {
    23. @Override
    24. public void show() {
    25. System.out.println("产品1");
    26. }
    27. }
    28. // 产品2
    29. static class p2 implements Product{
    30. @Override
    31. public void show() {
    32. System.out.println("产品2");
    33. }
    34. }
    35. }