美文网首页
设计模式 —— 简单工厂模式

设计模式 —— 简单工厂模式

作者: deve_雨轩 | 来源:发表于2021-08-18 14:24 被阅读0次

概念

简单工厂模式又称之为静态工厂方法(Static Factory Method), 属于创建型模式。简单工厂模式是根据传递的参数不同, 返回不同实现类的实例对象.(这些类都依赖一个父类或接口)

实现方式

我们先简单的来看看简单工厂模式的组成:

  1. 工厂类角色(Factory): 工厂类是工厂模式的最重要的组成部分. 向外提供一个创建方法,该方法会根据传递的参数来返回对应的实现类的实例对象。
  2. 抽象产品角色(abstract product): 工厂角色生产的所有对象都需要依赖此抽象。一般通过接口或者抽象类来实现.
  3. 具体产品实现角色(real product): 具体的产品实现,依赖抽象角色.由工厂角色来创建

工厂类

/**
* 专门用来创建车辆的工厂类
* @author yuxuan
*/
public class SimpleCarFactory {

public static Car createCar(String color) {
    Car car = null;

    switch (color) {
        case "red":
            car = new RedCar();
         break;
        case "black":
            car = new BlackCar();
        break;
    }

        return car;
    }

}

抽象Car类

/**
* 专门用来创建车辆的工厂类
* @author yuxuan
*/
public class SimpleCarFactory {

public static Car createCar(String color) {
    Car car = null;

    switch (color) {
        case "red":
            car = new RedCar();
        break;
        case "black":
            car = new BlackCar();
        break;
}

    return car;
}

}

Car实现类

/**
* 红色车辆实现类
* @author yuxuan
*/
public class RedCar extends Car{

    @Override
    public void sprayPaint() {
        System.out.println("red car");
    }

}
/**
* 黑色车辆实现类
* @author yuxuan
*/

public class BlackCar extends Car{

    @Override
    public void sprayPaint() {
        System.out.println("black car");
    }

}

简单工厂模式的优缺点

优点

  • 明确了各自的职责和权利,有利于整个软件体系结构的优化
  • 使用方无须知道创建类的过程,只需要提供对应的参数即可.

缺点

  • 由于工厂集中了所有对象的创建逻辑,一旦工厂出了问题,就会导致整个系统受到影响.
  • 系统扩展受限,一旦添加新的对象就需要修改工厂逻辑,在对象类型过多时,势必会导致工厂逻辑过于复杂和臃肿,不利于系统的扩展和维护

总结

  • 简单工厂的好处就在于你需要什么,只需要传递一个规则内的参数,就可以获取到所需要的对象.
  • 简单工厂的核心理念就是把对象的创建和对象的使用分离开来.为此当对象类型过多时势必会导致创建环节的臃肿

相关文章

  • 设计模式-工厂模式

    设计模式1 设计模式2 工厂模式 工厂模式可简单的分为三类:简单工厂,工厂方法,抽象工厂 简单工厂模式 定义 简单...

  • 设计模式一、单例模式

    系列传送门设计模式一、单例模式设计模式二、简单工厂模式设计模式三、工厂模式设计模式四、抽象工厂模式 简单单例(推荐...

  • 设计模式四、抽象工厂模式

    系列传送门设计模式一、单例模式设计模式二、简单工厂模式设计模式三、工厂模式设计模式四、抽象工厂模式 抽象工厂模式 ...

  • 设计模式三、工厂模式

    系列传送门设计模式一、单例模式设计模式二、简单工厂模式设计模式三、工厂模式设计模式四、抽象工厂模式 工厂模式 在一...

  • 设计模式

    设计模式(视频总结) [TOC] 一、简单工厂模式(Simple Factory) 简单工厂模式: 简单工厂模式属...

  • iOS设计模式-工厂模式

    工厂模式分为简单工厂模式,工厂模式、抽象工厂模式三类。 简单工厂模式 1. 定义 简单工厂模式并不是常用的设计模式...

  • Android设计模式:工厂设计模式

    目录 简单工厂模式工厂方法模式抽象工厂模式 简单工厂模式 简单工厂模式是所有工厂模式的基础,不属于23种设计模式范...

  • 相近设计模式比较

    设计模式干货: 简单工厂模式 vs. 工厂模式 vs. 抽象工厂模式简单工厂和工厂模式区别? 简单工厂没有多个子类...

  • 三、创建型模型

    简单工厂模式 工厂方法模式 抽象工厂模式 单例模式 1.简单工厂模式 简单工厂模式并不属于23种设计模式。 不难看...

  • 简单工厂模式

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

网友评论

      本文标题:设计模式 —— 简单工厂模式

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