美文网首页
简单工厂

简单工厂

作者: yym_439 | 来源:发表于2019-02-14 10:11 被阅读0次

定义

由一个工厂对象决定创建出哪一种产品类的实例(类型:创建型)

使用场景:

工厂类负责创建的对象比较少

客户端只知道传入工厂累的参数,对于如何创建对象不关心

缺点:违背开闭原则,增加新产品需要修改工厂类的判断逻辑

代码

//抽象产品类

public abstract class Video {

    public abstract voidproduce();

}

//具体产品

public class JavaVideo extends Video {

    @Override

    public void produce() {

        System.out.println("录制Java课程视频");

    }

}

//具体产品

public class PythonVideo extends Video {

    @Override

    public void produce() {

        System.out.println("录制Python课程视频");

    }

}

// 简单工厂类:

public class VideoFactory {

    public Video getVideo(Class c){

        Video video = null;

        try {

            video = (Video) Class.forName(c.getName()).newInstance();

        } catch (InstantiationException e) {

            e.printStackTrace();

        } catch (IllegalAccessException e) {

            e.printStackTrace();

        } catch (ClassNotFoundException e) {

            e.printStackTrace();

        }

        return video;

    }

    public Video getVideo(String type){

        if("java".equalsIgnoreCase(type)){

            return new JavaVideo();

        }else if("python".equalsIgnoreCase(type)){

            return new PythonVideo();

        }

        return null;

    }

}

//客户端:

public class Test {

    public static void main(String[] args) {

//        VideoFactory videoFactory = new VideoFactory();

//        Video video = videoFactory.getVideo("java");

//        if(video == null){

//            return;

//        }

//        video.produce();

        VideoFactory videoFactory = new VideoFactory();

        Video video = videoFactory.getVideo(JavaVideo.class);

        if(video == null){

            return;

        }

        video.produce();

    }

}

UML类图

image

相关文章

  • 工厂模式理解

    工厂模式分为简单工厂、工厂模式、抽象工厂三种层级概念。简单工厂不属于23种设计模式,抽象工厂才是。 简单工厂 简单...

  • 设计模式-工厂模式

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

  • 工厂模式

    首先,简单工厂模式不属于23中涉及模式,简单工厂一般分为:普通简单工厂、多方法简单工厂、静态方法简单工厂。 A、简...

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

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

  • 工厂模式

    什么是工厂模式? 工厂模式分为三种:简单工厂工厂方法抽象工厂今天主要介绍的简单工厂:简单工厂(SimpleFact...

  • 设计模式(java)- 单例模式

    之前学习是简单工厂模式、工厂方法模式、抽象工厂模式,复习一下 简单工厂模式 简单工厂模式大概就是创建一个简单工厂类...

  • 2016.06笔记

    iOS设计模式之工厂模式(简单工厂,工厂方法,抽象工厂) 简单工厂:简单工厂模式的工厂类一般是使用静态方法,通过接...

  • 工厂模式——IOS版

    一、前言 工厂模式种类:简单工厂、工厂方法、抽象工厂 IOS中的应用:类簇 二、简单工厂 介绍:简单工厂模式是属于...

  • 相近设计模式比较

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

  • 设计模式-工厂模式

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

网友评论

      本文标题:简单工厂

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