简单工厂模式

2018-10-17  本文已影响4人  fomin

1、概念

简单工厂模式属于创建型模式,但不属于23种GOF设计模式之一,称为静态工厂方法(Static Factory Method)模式,可以根据参数的不同返回不同的类实例。


简单工厂模式

2、模式结构

3、使用场景

4、优缺点

优点:

缺点:

5、实例

创建抽象产品类,定义具体产品的公共接口

public abstract class AbsPhone {
    abstract String getName();

    abstract void setTheme();
}

创建具体产品类(继承抽象产品类),定义生产的具体产品

public class HuaweiPhone extends AbsPhone {

    private String name = "Huawei";


    @Override
    String getName() {
        return name;
    }

    @Override
    void setTheme() {
        // 根据手机设置不同主题
    }
}

public class XiaomiPhone extends AbsPhone {

    private String name = "Xiaomi";

    @Override
    String getName() {
        return name;
    }

    @Override
    void setTheme() {
        // 根据手机设置不同主题
    }
}

创建工厂类,通过创建静态方法从而根据传入不同参数创建不同具体产品类的实例

public class Factory {
    public static AbsPhone createPhone(String type) throws Exception {
        AbsPhone phone = null;
        switch (type) {
            case "Huawei":
                phone = new HuaweiPhone();
                break;
            case "Xiaomi":
                phone = new HuaweiPhone();
                break;
        }
        if (phone == null) {
            throw new Exception("传入参数不正确");
        }
        return phone;
    }
}
上一篇 下一篇

猜你喜欢

热点阅读