美文网首页
创建型设计模式-工厂方法模式

创建型设计模式-工厂方法模式

作者: 微风细雨007 | 来源:发表于2019-01-14 14:39 被阅读13次

使用场景

在任何需要生成复杂对象的地方,都可以使用工厂方法模式。复杂对象更适合使用工厂模式,用new就可以完成创建的对象无需使用工厂模式。

示例

抽象产品:手机,具体产品:小米手机,苹果手机;

抽象工厂:手机工厂,具体工厂:小米手机工厂,苹果手机工厂

UML图

工厂模式示例
  • 抽象产品:手机
public interface Mobile {
    void call();
}
  • 具体产品1:小米手机
public class MiPhone implements Mobile {
    public void call() {
        System.out.println("欢迎使用小米手机");
    }
}
  • 具体产品2:苹果手机
public class ApplePhone implements Mobile {
    public void call() {
        System.out.println("欢迎使用苹果手机");
    }
}
  • 抽象工厂:手机工厂
public interface MobileFactory {
    Mobile produce();
}
  • 具体工厂1:小米手机工厂
public class MiFactory implements MobileFactory {
    public Mobile produce() {
        return new MiPhone();
    }
}
  • 具体工厂2:苹果手机工厂
public class AppleFactory implements MobileFactory {
    public Mobile produce() {
        return new ApplePhone();
    }
}
  • 实现
public class FactoryMethodMain {
    public static void main(String[] args) {
        MobileFactory factory = new AppleFactory();
        Mobile produce = factory.produce();
        produce.call();

        //创建工厂
        MobileFactory miFactory = new MiFactory();
        //生产产品手机
        Mobile miPhone = miFactory.produce();
        //打电话
        miPhone.call();
    }
}

缺点

每次我们为工厂方法添加新的产品时就要编写一个新的产品类,同时还要引入抽象层,这必然会导致结构的复杂化

相关文章

  • 2021-11-16 - 学习记录

    设计模式学习:创建型:工厂(工厂方法,抽象工厂),建造者,单例,原型 设计模式:工厂模式 简单工厂 工厂方法 抽象工厂

  • Kotlin(八)kotlin设计模式-创建型

    创建型模式 - 工厂 Kotlin里面几种主流创建型设计模式:工厂方法模式,抽象工厂模式,构建者模式 8.1 伴生...

  • spring 设计模式篇(前)

    设计模式俗称:套路 一、spring常见设计模式 (23种设计模式) 创建型:工厂方法模式、抽象工厂模式、建造者...

  • 设计模式、第一篇

    常用设计模式 设计模式分类 1.创建型 工厂方法模式(Factory Method)、抽象工厂模式(Abstrac...

  • 简单工厂模式

    Android进阶之设计模式 简单工厂模式 简单工厂模式(又叫作静态工厂方法模式), 其属于创建型设计模式,但并不...

  • 简单工厂模式

    工厂方法模式(Factory Pattern)是创建型设计模式之一。 一、定义 简单工厂模式又称为静态方法工厂模式...

  • 工厂方法模式

    什么是工厂方法模式 工厂方法模式又称为工厂模式,属于创建型设计模式。工厂方法模式定义了一个创建对象的接口,但由子类...

  • 「每天一个知识点」精讲设计模式面试专题

    前言: 设计模式的分类 设计模式分为三类 创建型设计模式与对象创建有关包括单例模式,工厂方法模式,抽象工厂模式,建...

  • 设计模式

    23种设计模式 工厂方法(创建型:解决对象创建问题的) 工厂方法:工厂模式不属于GOF设计模式,也不属于JavaE...

  • 设计模式[2]-工厂方法模式-Factory Method Pa

    1. 工厂方法模式简介 工厂方法模式(Factory Method Pattern)是创建型的设计模式,和简单工厂...

网友评论

      本文标题:创建型设计模式-工厂方法模式

      本文链接:https://www.haomeiwen.com/subject/yjoddqtx.html