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

【设计模式】——工厂模式_简单工厂模式

作者: 从不打小怪兽 | 来源:发表于2020-06-15 16:58 被阅读0次

要点

  • 简单工厂模式也叫静态工厂模式(方法里面都为静态)。就是工厂类一般使用静态方法,通过接收的参数的不同来返回不同的对象实例。
  • 对于增加的新产品无能为力!不修改代码的话,是无法扩展的。

这是个简单工厂实例

  • 如何实现创建者和调用者的分离
  1. 首先建立个接口
interface  Car {
    void run();
}
  1. 然后是两个实现类
public class Benz implements Car{

    @Override
    public void run() {
        System.out.println("我是奔驰!");
    }
}
public class BMW implements Car{

    @Override
    public void run() {
        System.out.println("我是宝马");
    }
}

\color{red}{3. 不使用工厂模式情况下,直接调用的方法通常如下}

/**
 * 不调用工厂的情况下
 * @author Sakura
 *
 */
public class Client01 {
    
    public static void main(String[] args) {
        
        Car c1=new Benz();
        Car c2=new BMW();
        
        c1.run();
        c2.run();
    }
}

控制台:

我是奔驰!
我是宝马

\color{red}{4. 使用工厂模式情况下,调用的方法}

  • 先建立工厂
/**
 * 工厂
 * @author Sakura
 *
 */
public class CreatCarFactory{
    //第一种实现方式,添加所有子类
    public static Car creatCar(String type){
        if("BMW".equals(type)){
            return new BMW();
        }else if("Benz".equals(type)){
            return new Benz();
        }else{
            return null;
        }
    }
    //第二种实现方式,为每个子类添加方式
    public static Car creatBMW(){
        return new BMW();
    }
    
    public static Car creatBenz(){
        return new Benz();
    }

}
  • 简单的调用工厂(静态工厂模式)
/**
 * 调用简单工厂
 * @author Sakura
 *
 */
public class Client02 {
    public static void main(String[] args) {
        Car c1=CreatCarFactory.creatCar("BMW");
        Car c2=CreatCarFactory.creatCar("Benz");
        Car c3=CreatCarFactory.creatBenz();
        Car c4=CreatCarFactory.creatBMW();
        
        c1.run();
        c2.run();
        c3.run();
        c4.run();
    }
}

控制台:

我是宝马
我是奔驰!
我是奔驰!
我是宝马

相关文章

  • 设计模式-工厂模式

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

  • iOS设计模式-工厂模式

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

  • 常用设计模式

    设计模式 工厂模式 工厂模式思路上分:简单工厂模式,工厂模式, 抽象工厂模式// 抽象工厂模式可以代替工厂模式,做...

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

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

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

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

  • 相近设计模式比较

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

  • 设计模式三、工厂模式

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

  • 工厂模式

    工厂模式 就是工厂---生产-->产品 在设计模式中,分为 简单工厂模式, 工厂方法模式,抽象工厂模式. 工厂模式...

  • 设计模式

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

  • 三、创建型模型

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

网友评论

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

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