一、概念编程
简单工厂模式属于建立型模式,但不属于23种GOF设计模式之一,称为静态工厂方法(Static Factory Method)模式,能够根据参数的不一样返回不一样的类实例。 设计模式
二、模式结构bash
三、使用场景ide
四、优缺点ui
优势:spa
缺点:设计
五、实例code
建立抽象产品类,定义具体产品的公共接口cdn
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;
}
}
复制代码