简单工厂模式

作者: YoungerDev | 来源:发表于2018-04-01 18:19 被阅读71次

Android进阶之设计模式

简单工厂模式

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

定义: 简单工厂模式属于创建型设计模式,又叫作静态工厂方法模式,这是由一个工厂对象决定创建出哪一种产品类的实例.
使用场景:

  1. 工厂类负责创建的对象比较少.
  2. 客户只需知道传入工厂类的参数,而无需关心创建对象的逻辑.

优点: 使用户根据参数获得对应的类实例,避免了直接实例化,降低了耦合性.

缺点:可实例化的类型在编译期间已经被确定.如果增加新的类型,则需要修改工厂,这违背了开闭原则.简单工厂需要知道多有要生成的类型.当子类过多或者子类层次过多时不适合使用.

下面演示一个例子:

创建一个抽象产品类

public abstract class Computer {


    /**
     * 产品的抽象方法,由具体的产品类实现
     * */

    public abstract void start();
}

具体产品实现类

public class LenovoComputer extends Computer {
    @Override
    public void start() {
        System.out.println("联想计算机启动");
    }
}

public class HpComputer extends Computer {
    @Override
    public void start() {
        System.out.println("惠普计算机启动");
    }
}

...

工厂类


public class ComputerFactory {

    public static Computer createComputer(String type){
        Computer computer = null;
        switch (type){
            case "lenovo":
                computer = new LenovoComputer();
                break;
            case "hp":
                computer = new HpComputer();
                break;

        }
        return computer;
    }
}

客户调用工厂类

public static void main(String[] args) {
    // write your code here

        ComputerFactory.createComputer("lenovo").start();

    }
    

这就是简单工厂模式

相关文章

  • [Android]三种工厂模式总结。

    Android中,工厂模式分为三种:简单工厂模式、工厂方法模式、抽象工厂模式。 一.简单工厂模式。 定义:简单工厂...

  • 设计模式-工厂模式

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

  • 工厂模式

    工厂模式包含三种模式:简单工厂模式、工厂方法模式和抽象工厂模式。 简单工厂模式 定义简单工厂模式:由一个工厂类根据...

  • Java设计模式——工厂模式

    工厂模式简单工厂模式工厂方法模式抽象工厂模式 1.简单工厂模式 1.基本介绍1)简单工厂模式也叫静态工厂模式,是属...

  • iOS设计模式-工厂模式

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

  • 相近设计模式比较

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

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

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

  • 设计模式2-工厂模式

    工厂模式分为简单工厂模式、工厂方法模式和抽象工厂模式 简单工厂模式 简单工厂模式,就是建立一个工厂类,对实现了同一...

  • 找女朋友之简单工厂模式,工厂模式,抽象工厂模式

    找女朋友之简单工厂模式,工厂模式,抽象工厂模式 找女朋友之简单工厂模式,工厂模式,抽象工厂模式

  • 设计模式-工厂模式

    一、工厂模式分类 简单工厂模式 工厂方法模式 抽象工厂模式 二、简单工厂模式 简单工厂就是讲需要new对象的那段代...

网友评论

    本文标题:简单工厂模式

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