设计模式-简单工厂模式

2019-02-25  本文已影响0人  小的橘子

定义

简单工厂模式属于创建型模式又叫做静态工厂方法模式,是由一个工厂对象决定创建出哪一种产品类的实例。

UML类图

简单工厂模式UML图

简单工厂模式实例

// 客户端调用工厂类创建电脑
public class Test {
    public static void main(String[] args) {
        ComputerFactory.createComputer("asus").start();
    }
}
// 抽象产品类
abstract class Computer {
    /**
     * 产品的抽象方法,由具体的产品类去实现
     */
    public abstract void start();
}
// 具体产品类联想电脑
class LenovoComputer extends Computer {
    @Override
    public void start() {
        System.out.println("联想电脑启动");
    }
}
// 具体产品类华硕电脑
class AsusComputer extends Computer {
    @Override
    public void start() {
        System.out.println("华硕电脑启动");
    }
}
// 工厂创建类
class ComputerFactory {
    public static Computer createComputer(String type) {
        Computer mComputer = null;
        switch (type) {
            case "lenovo":
                mComputer = new LenovoComputer();
                break;
            case "asus":
                mComputer = new AsusComputer();
                break;

        }
        return mComputer;
    }
}

输出

华硕电脑启动

简单工厂模式使用场景

  1. 工厂类负责创建的对象很明确且比较少。
  2. 客户只知道传入工厂类的参数,对于如何创建对象(逻辑)不关心。

简单工厂模式优缺点

上一篇下一篇

猜你喜欢

热点阅读