一点点

  • 工厂模式是我们最为常用的设计模式之一,目的是用于隐藏创建对象的细节

  • 工厂模式的核心是: 工厂类(Factory)。工厂类作为中间人的角色帮我们创建对象。通俗点说:我们要获取对象时,不是通过自己new出来的,而是通过工厂类来帮我们创建的。

  • 工厂模式可以细分为:简单工厂、工厂方法 和 抽象工厂


简单工厂模式案例:

  • 1. 抽象出一个顶级的接口I18N (作为工厂类的返回对象使用)

  • 2. 创建3个实现类ChineseBritainJapanese,并实现I18N接口

  • 3. 创建I18NFactory工厂类,并提供一个静态方法来创建实现类对象,该静态方法会返回一个I18N具体实现类的对象。

  • 4. 然后使用者就可以直接面向工厂类进行开发咯

步骤 1

创建一个接口:

package com.cd.design.factory;/*** @Author: 落叶无痕* @Date: 2020/4/21 1:19*/
public interface I18N {//抽象出来的最顶级的方法String getLanguage();}

步骤 2

创建实现接口的实体类

public class Chinese implements I18N {@Overridepublic String getLanguage() {return "中文. . .";}}
public class Britain implements I18N {@Overridepublic String getLanguage() {return "英语. . .";}}
public class Japanese implements I18N {@Overridepublic String getLanguage() {return "日语. . .";}}

步骤 3

创建一个工厂,根据传递的实现类类型信息创建实现类对象。

public class I18NFactory {/* 根据传递的实现类类型信息创建实现类对象*这里使用static修饰,这样就可以直接类名.方法名调用该方法。即可以简化开发,又节省了创建对象带来的消耗。*/public static I18N getI18NObject(String area){if(area.equals("Chinese")){return new Chinese();}else if(area.equals("Britain")){return new Britain();}else if(area.equals("Chinese")){return new Japanese();}else {return null;}}}

步骤 4

使用该工厂,通过传递类型获取指定指定实现类对象。

package com.cd.design.factory;/*** @Author: 落叶无痕* @Date: 2020/4/21 1:18*/
public class Software {public static void main(String[] args) {//更改getI18NObject()方法的参数值,获得不同类的对象I18N i18N = I18NFactory.getI18NObject("Chinese"); System.out.println(i18N.getLanguage());}}

简单工厂总结:

  • 何时使用:明确地计划在不同条件下创建不同实例时(要创建实例的类所实现的功能都大致相同)

  • 优点:1. 使用者想创建一个类,只需知道其名称即可。2.屏蔽了类的对象的创建逻辑和具体实现,使用者只需关心实现接口。

设计模式 — 简单工厂模式相关推荐

  1. JavaScript设计模式--简单工厂模式例子---XHR工厂

    JavaScript设计模式--简单工厂模式例子---XHR工厂 第一步,Ajax操作接口(目的是起一个接口检测作用) (1)引入接口文件 //定义一个静态方法来实现接口与实现类的直接检验 //静态方 ...

  2. 三角形圆形创建与擦除java_设计模式---------------简单工厂模式

    设计模式---------------简单工厂模式 一.题目(Question) 使用简单工厂模式设计一个可以创建不同几何形状(如圆形.方形和三角形等)的绘图工具,每个几何图形都要有绘制draw()和 ...

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

    前言 简单工厂模式是一种比较容易理解的设计模式 简单工厂模式介绍 在设计模式中,简单工厂模式可以理解为负责生产对象的一个类,当使用new 关键字创建一个对象时,此时该类就依赖于这个对象,也就是他们间的 ...

  4. 设计模式 - 简单工厂模式

    文章目录 设计模式 - 简单工厂模式 1.意图 2.实例 1.创建颜色接口 - 定义生产的产品是什么 2.创建颜色枚举 - 定义生产哪些类型的产品 3.根据颜色枚举创建产品 - 根据产品清单生产产品 ...

  5. 设计模式--简单工厂模式

    什么是工厂模式 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一.这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式. 在工厂模式中,我们在创建对象时不会对 ...

  6. C#设计模式--简单工厂模式

    设计模式: 简单工厂模式(Simple Factory Pattern) 介绍:简单工厂模式不是Gof23种设计模式之一.但它在实际的编程中经常被用到,而且思想也非常简单,下面简单举例说明: 简单工厂 ...

  7. C++设计模式--简单工厂模式

    概述 工厂模式:封装对象的实现.它可能是所有设计模式中最有用的模式之一了.这里要说的是简单工厂模式,又称为静态方法工厂模式,属于创建性模式.其原理就是通过传入的参数来判断应该创建什么对象. UML 类 ...

  8. 设计模式 简单工厂模式

    简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一.简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例.简单工厂 ...

  9. 面向对象编程设计模式--简单工厂模式讲解(历史上最简单明白的例子)

    工作之余,在看资料过程中发现一个极易理解的简单工厂模式的例子,自己亲自试练一番,感觉对这个设计模式不熟悉的朋友, 一看马上就知道是什么回事了. 简单工厂模式根据提供给它的数据,返回几个可能类中的一个类 ...

  10. java工厂模式 uml_深入浅出设计模式-简单工厂模式

    模式定义 简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一.简单工厂模式定义了一个创建对象的类,由这个类来封装实例化 ...

最新文章

  1. AI | 优化背后的数学基础
  2. laravel-admin集成ueditor编辑器的图片列表显示问题解决方法
  3. DSP集成开发工具CCS的Git工具使用说明(二)
  4. App推荐 | Google Tasks
  5. Linux系统日志切割
  6. iOS屏幕适配方案-Auto Layout
  7. TCP粘包问题分析和解决(全)
  8. 信息学奥赛一本通 1044:判断是否为两位数 | OpenJudge NOI 1.4 06
  9. HTML单页营销宣传专题页源码
  10. centos5.5安装ispcp
  11. SiteMesh JSP布局框架介绍
  12. 4. Phpstorm svn
  13. textbox++问题 汇总 如:assert len 0 builtin_function_or_method() int()
  14. MODIS数据下载之USGS下载流程
  15. 第十章 DirectX 绘制简单场景,地形,天空盒和跟随摄像机(上)
  16. r语言如何计算t分布临界值_医学统计与R语言:这个Calibration plot有点色!
  17. 制作游戏3D模型都有哪些步骤流程
  18. sublimit 编辑器扩展_视频字幕编辑工具-字幕编辑器(Subtitle Edit)下载v3.5.17 多语中文版-西西软件下载...
  19. 在线小游戏,在线小游戏大全,网页在线小游戏大全
  20. GitWeb服务器搭建

热门文章

  1. 洛谷 P1404 平均数
  2. 解决win2008下IIS7的HTTP500错误
  3. 农历算法-ASP.NET(C#)(转)
  4. 彻底禁用chrome请停用以开发者模式运行的扩展程序弹框
  5. 【安全测试自学】初探web安全处测试(三)
  6. js多线程的实现-Worker
  7. HNOI2015 开店
  8. tp5 的查询构造器
  9. Linux——通配符
  10. python random从集合中随机选择元素