设计模式day3-工厂模式

工厂模式

将实例化对象的代码提取出来,放到一个类中统一管理和维护,达到和主项目的依赖关系的解耦

简单工厂(静态工厂)

  1. 创建对象由工厂提供
  2. 创建型;由一个工厂对象决定创建出哪一种产品的实例
  3. 封装实例化对象的行为(代码)
  4. 用于:大量创建某种、某类、某批对象
public class SimpleFactory {
    public Pizza createObject(String pizzaType) {
        Pizza pizza = null;
        if ("aPizza".equals(pizzaType)) {
            pizza = new APizza();
            pizza.setName("aPizza");
        } else if ("bPizza".equals(pizzaType)) {
            pizza = new BPizza();
            pizza.setName("bPizza");
        }
        return pizza;
    }
    //或
    //public static Pizza createObject(String pizzaType) {
          //......
    //}
}

工厂方法

  1. 对简单工厂类进行抽象
  2. 创建对象的抽象方法,由子类决定要实例化的类
  3. 将对象的实例化推迟到子类,(子类重写的方法,包含简单工厂里的createObject代码)

抽象工厂

  1. 接口
  2. 简单工厂+工厂方法的整合
  3. 对简单工厂的进一步抽象
posted @ 2022-05-25 17:45  pizisu  阅读(17)  评论(0编辑  收藏  举报