美文网首页
简单工厂

简单工厂

作者: 南小夕 | 来源:发表于2019-04-24 16:49 被阅读0次

一、前言

在学习工厂模式之前,我们先来看一下简单工厂,简单工厂是创建型,但不属于GOF23种设计模式。

二、定义

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

三、适用场景

工厂类负责创建的对象比较少,并且客户端(应用层)只知道传入工厂类的参数,对于如何创建对象(逻辑)不关心。

四、代码实战

假如要录制课程视频,有Java视频、python视频等。

首先先创建一个抽象的Video方法, 屏幕快照 2019-04-23 下午3.35.41.png 然后再创建录制java视频的类和录制python视频的类, 屏幕快照 2019-04-23 下午3.37.29.png
屏幕快照 2019-04-23 下午3.37.37.png 然后再创建录制视频的工厂, 屏幕快照 2019-04-23 下午3.39.09.png 最后调用, 屏幕快照 2019-04-23 下午3.39.26.png
这几个角色都很简单,主要有,一具体工厂VideoFsctory类,其实现了具体的业务逻辑,根据传进来的参数type,实现不同的业务;二抽象产品Video类,是所创建的产品的父类;三具体产品JavaVideo和PythonVideo类,为实现抽象产品的某个具体产品的对象。
上述代码中我们在MainActivity中构造了一个工厂对象,传入“java”参数,并通过其生产了一个产品对象,这里我们得到的产品对象是JavaVideo的实例。这种方式需要哪一个产品就生产哪一个,也可以利用反射的方式更简洁地来生产具体产品对象,这里就不贴代码了。

五、总结

1、优点

只需要传入一个正确的参数,就可以获取你所需要的对象,而无须知道其创建细节。

2、缺点

工厂类的职责相对过重,增加新的产品需要修改工厂类的判断逻辑,违背开闭原则。

相关文章

  • 工厂模式理解

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

  • 设计模式-工厂模式

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

  • 工厂模式

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

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

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

  • 工厂模式

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

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

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

  • 2016.06笔记

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

  • 工厂模式——IOS版

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

  • 相近设计模式比较

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

  • 设计模式-工厂模式

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

网友评论

      本文标题:简单工厂

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