Java 23种设计模式之简单工厂模式详解

java设计模式之工厂模式实例详解 主要介绍了java设计模式之工厂模式,结合具有实例形式分析了java工厂模式的概念、原理、实现与使用方法,需要的朋友可以参考下 立即下载

一、设计模式的分类

总体来说设计模式分为三大类:

创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。

结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。

行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

其实还有两类:并发型模式和线程池模式:

第一章:简单工厂模式

首先我们来探讨一下,什么是简单工厂模式?

答案:简单工厂模式属于类的创建型模式,又叫做静态工厂方法模式。通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。大家可以这样理解:其实就是创建一个类专门来给其他类进行实例化的,由于是由同一个类实例化的,所以通常都具有共同的父类。

代码如何实现如下:

首先创建一个水果类接口:Fruit.java

public interface Fruit {
/*
* 采集
*/
public void get();
}

然后创建苹果类,实现水果接口类 Apple.java

public class Apple implements Fruit{
/*
* 采集
*/
public void get(){
System.out.println("采集苹果");
}
}

再次创建香蕉类,实现水果接口类 Banana.java

public class Banana implements Fruit{
/*
* 采集
*/
public void get(){
System.out.println("采集香蕉");
}
}

建立水果工厂类 FruitFactory.java

public class FruitFactory {
/*
* get方法,获得所有产品对象
*/
public static Fruit getFruit(String type) throws InstantiationException, IllegalAccessException, ClassNotFoundException {
if(type.equalsIgnoreCase("apple")) {
return Apple.class.newInstance();
} else if(type.equalsIgnoreCase("banana")) {
return Banana.class.newInstance();
} else {
System.out.println("找不到相应的实例化类");
return null;
}
Class fruit = Class.forName(type);
return (Fruit) fruit.newInstance();
}
}

最后新建一个程序入口类 MainClass.java

public class MainClass {
public static void main(String[] args) throws InstantiationException, IllegalAccessException, ClassNotFoundException {


Fruit apple = FruitFactory.getFruit("Apple");
Fruit banana = FruitFactory.getFruit("Banana");
apple.get();
banana.get();

}
}

以上程序就结束了。

下周我会为大家讲解第二章:抽象工厂模式!

【QT开发教程】Qt的图形用户界面设计模式:MVC/MVP/MVVM 在Qt框架中,图形用户界面(GUI)的设计模式对于提高代码的可维护性、可扩展性和可测试性至关重要。MVC(Model-View-Controller)、MVP(Model-View-Presenter)和MVVM(Model-View-ViewModel)是常见的三种设计模式。本文将详细介绍这三种设计模式在Qt中的应用。 阅读详情

相关推荐

AI 编程助手新玩法:用 Claude Code 一键调用国产大模型(DeepSeek/Kimi/GLM 对比)

本文深入评测了Claude Code与三大国产大模型(DeepSeek、Kimi、智谱GLM)的集成效果,详细对比了它们在代码生成质量、响应速度和特殊场景支持度等方面的差异。通过实测数据和实战技巧,帮助开发者选择最适合的AI编程助手组合,提升开发效率。

weixin_30955617的博客 487

Java设计模式之工厂模式详解

1.什么是工厂模式? 工厂模式的主要解决的问题是,将原来分布在各个地方的对象创建过程单独抽离出来,交给工厂类负责创建。其他地方想要使用对象直接找工厂(即调用工厂的方法)获取对象。 2.作用: 实现类创建者和调用者的分离 3.核心本质: 实例化对象不使用new,用工厂方法代替 将选择实现类,创建对象统一管理和控制。从而将调用者和我们的实现类解耦 4.详细分类: 1.简单工厂模式/静态工厂模式 用来生产同一等级结构中的任意产品 2.工厂方法模式 用来生产同一等..

IAMZTDSF的博客 6291

【自动驾驶端到端5:VADv2: End-to-End Vectorized Autonomous Driving via Probabilistic Planning】

从大规模人类驾驶演示中学习类人驾驶策略是有希望的。但是,规划的不确定性使得从驾驶演示中提取驾驶知识是有挑战性的。从统计学习的角度来看,动作(包括实际和速度)是高度随机的,受许多无法建模的潜在因素影响。

weixin_40000560的博客 1405

java工厂模式详解

工厂模式,抽象工厂,工厂方法,简单工厂,工厂模式详解

qq_50278146的博客 2245

[ENVI]-[高光谱遥感]-波谱沙漏分析工具的使用

图1-2-1查看特殊波段的坏波段图1-2-2在中添加坏波段ENVI波谱沙漏分析工具MNF变换。

m0_57992372的博客 1470

Arduino Uno 实验15——MQ-135 气体传感器模块

MQ-135 气体传感器模块简介(空气质量检测 有害气体检测)   MQ135气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。当传感器所处环境中存在污染气体时,传感器的电导率随空气中污染气体浓度的增加而增大。MQ135气体传感器对氨气、硫化物、苯系蒸汽的灵敏度高,对烟雾和其它有害气体的监测也很理想。这种传感器可检测多种有害气体,是一款适合多种应用的低成本传感器。   主要用途:家庭和环境的有害气体检测装置   主要芯片:LM393、MQ-135气体传感器 不同气体的型号选择

weixin_42645653的博客 2万+

《设计模式详解》创建型模式 - 工厂模式

《设计模式详解》4.2 工厂模式4.2.1 概述4.2.2 简单工厂模式4.2.2.1 结构4.2.2.2 实现4.2.2.3 优缺点4.2.2.4 扩展 - 静态工厂4.2.3 工厂方法模式4.2.3.1 概念4.2.3.2 结构4.2.3.3 实现4.2.3.4 优缺点4.2.4 抽象工厂模式4.2.4.1 概念4.2.4.2 结构4.2.4.2 实现4.2.4.3 优缺点4.2.4.4 使用场景4.2.5 扩展:简单工厂 + 配置文件4.2.6 JDK源码 - Collection.iterator

萌宅鹿的技术小屋 2516

MATLAB绘图中文乱码终极解决方案:从方框到清晰显示的全面指南

本文提供了MATLAB绘图中文乱码的全面解决方案。针对中文显示为方框的问题,从单次绘图的临时字体设置,到通过修改默认配置实现一劳永逸,再到系统级字体排查与Java环境配置,给出了详细的步骤指南。文章还涵盖了字体名称指定、图像导出防丢失以及跨平台协作等高级技巧,帮助用户彻底解决中文乱码困扰。

weixin_29093017的博客 615

Java23种设计模式之第三弹-工厂模式

简单工厂也称为静态工厂。是一种创建型模式。在简单工厂中,可以根据传入参数的不同返回不同类的对象实例。简单工厂是一个专门的工厂类,用来创建不同其他类的实例对象。这些实例对象通常他们的父类是同一个抽象类或者接口。相当于加了一层。在一个工厂类中生产各种产品,对单一产品的修改又或者增加产品都可能会影响到之前创建其他产品的逻辑。所以我们要加一层将创建产品的过程移至子类生产,每个工厂子类对应一个产品的生产。产品的增加和删除不会影响到其他产品的产出单个产品逻辑修改只需要在对应的工厂类修改即可,不需要动其他的工厂。

weixin_44735933的博客 2052

Dify插件实战:实时渲染AI生成的HTML/SVG/Canvas代码

在现代Web开发与AI应用集成中,前端渲染技术是实现动态内容展示的核心。其原理在于浏览器引擎解析HTML、CSS、JavaScript等代码,并将其转换为可视化的用户界面。这项技术的价值在于极大提升了开发效率与用户体验,允许开发者快速构建和迭代交互式应用。在AI应用开发领域,尤其是大语言模型(LLM)集成场景,如何将模型生成的**结构化代码**(如描述UI的HTML或数据图表的SVG)实时转化为可视化组件,成为一个关键需求。这直接关系到**Dify**等低代码AI平台能否提供流畅的、所见即所得的交互体验。本

weixin_42545664的博客 499

DDR4 IP的用户接口

DDR4 IP核用户接口

bowen_wener的博客 1925

Java设计模式:工厂模式详解

工厂模式是一种创建型设计模式,它提供了一个创建对象的接口,但允许子类决定实例化哪一个类。工厂方法让类的实例化推迟到子类。工厂模式是一种非常实用的设计模式,它可以提高代码的可维护性和扩展性。通过将对象的创建过程封装在工厂类中,客户端可以更加灵活地使用对象,而不必关心具体的创建细节。

国家专精特新小巨人、资深消防行业企业、国家高新技术企业、智慧消防技术实验室、准独角兽企业、浙江省电流AI技术研发中心 5835

SAPGUI excel 导出时遇到的运行时错误:STRING_SIZE_TOO_LARGE

当报表导出需求远超单一 XLSX 文件的物理承载力时,与其在 SAPGUI 中硬拼 2 GB 限制,不如把分页、过滤、流式写入作为设计前提。掌握 ABAP2XLSX 或 CSV + Power Query 等工具链,既能满足审计合规,又能让应用服务器远离的噩梦。祝你在下一次导出海量数据时,既高效又优雅。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 641

一个系列搞懂23种设计模式

本文是这一专栏的目录,设计模式的学习资料来自于刘伟老师的《Java设计模式》,结合我学习的理解,便有了这一系列,。对类的实例化过程进行了抽象,能够将软件模块中对象的创建和对象的使用分离,对应单一职责原则。即创建什么?由谁创建?何时创建?(5种)

sniper_fandc的博客 823

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

229_尚学堂_高淇_java300集最全视频教程_【GOF23设计模式】_简单工厂模式详解

工厂模式这个设计模式一开始感觉挺神秘的,后来听了尚学堂的视频之后感觉也没有啥,就是将创建对象的操作,从原来的new操作交给一个工厂类来做。 工厂,顾名思义,就是用来生产对象的,可以根据你的需求来创建对象,这也就是实际开发中用的最多的简单工厂模式,当然还有工厂方法模式和抽象工厂模式。

jingjbuer的专栏 2848

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

java_229_GOF23设计模式_简单工厂模式详解_面向对象设计原则_开闭原则_依赖反转原则_迪米特法则_练习

工厂模式 //--------------简单工厂------汽车类-------------------------- package java_229_GOF23设计模式_简单工厂模式详解_面向对象设计原则_开闭原则_依赖反转原则_迪米特法则_练习; /** 创建接口 / public interface Car {//interface接口 ;Car汽车 //方法 void run(); } //-----------------子类--------------------- package

weixin_45339692的博客 214

Java 之23种设计模式解析

三、Java的23中设计模式 A、创建模式 从这一块开始,我们详细介绍Java中23种设计模式的概念,应用场景等情况,并结合他们的特点及设计模式的原则进行分析。   首先,简单工厂模式不属于23中涉及模式,简单工厂一般分为:普通简单工厂、多方法简单工厂、静态方法简单工厂。 0、简单工厂模式 简单工厂模式模式分为三种: 01、普通 就是建立一个工厂类,对实现了同一接口的一些类进行实例...

尚硅谷铁杆粉丝的博客 743

Java中23种设计模式的详细介绍

Java开发中23种设计模式详细介绍设计模式介绍设计模式分类设计模式六大原则开闭原则(Open Close Principle)里氏代换原则 设计模式介绍 设计模式(Design Patterns): 一套被反复使用,多数人知晓,经过分类编目,代码设计的总结 使用设计模式是为了可重用代码,让代码更容易理解,保证代码可靠性 项目中合理运用设计模式可以完美的解决很多问题,每种模式都有相应的原理...

攻城狮Chova的博客 1万+

Java 设计模式之静态工厂方法模式

静态工厂方法模式,又称为简单工厂模式,是最简单最易理解的工厂模式,本文通过一个 “月饼” 例子,一起来学习下这种设计模式吧!

牛角尖 2442

Java 设计模式-简单工厂模式

Java 设计模式-简单工厂模式 文章目录Java 设计模式-简单工厂模式介绍简单工厂模式的结构与实现**简单工厂模式的优缺点和适用环境** 介绍 简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。 定义:定义一个工厂类,他可以根据参数的不同返回不同类的实例,被创建的实例通常都具

霍英俊 2513

深入理解设计模式-简单工厂模式(静态工厂方法模式)

文章目录一、定义二、使用场景三、代码样例1.需求2.类图3.运算操作类4.操作工厂类5.客户端类四、优缺点结尾 一、定义 简单工厂模式是属于创建型模式,在简单工厂模式中用于被创建实例的方法通常为静态(static)方法,因此又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。 二、使用场景 工厂类负责创建的对

少说,多做 1万+

【JAVA长虹键法】第三式 简单工厂模式(23种设计模式)

23种设计模式之简单工厂模式

4万+

Java中23种设计模式之静态工厂方法

初步接触设计模式,初步了解静态工厂方法,了解还不全面,我们先一步步了解一下。 一、背景介绍 工厂模式是设计模式的一种,设计模式是自程序开发逐渐就有的,提高开发效率的一种设计思路,先前的开发者们一直在用,只是后来在《Effective Java》中总结了下,就是现在的23种设计模式。 书中共有三个层面的内容: 一、把程序开发过程中在不同系统中多次使用过的成功设计的模式进行总结,用名称-问题-解决...

鄙人kunzhi96,感恩遇见! 1620

23种设计模式之简单工厂模式

简单工厂 简单工厂模式 简单工厂模式不是23种里的一种,简而言之,就是有一个专门生产某个产品的类。 比如下图中的鼠标工厂,专业生产鼠标,给参数0,生产戴尔鼠标,给参数1,生产惠普鼠标。 概述 简单工厂模式又称为静态工厂模式,它不属于23种设计模式 ,但现实中却经常会用到。 具体实现为定义一个类,该类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例。其实就是将一个具体类的实例化交给一个类的静态方法来执行,该类被称为工厂类,静态方法被称为静态工厂方法,思想也非常简单。 参

weixin_45655824的博客 446

设计模式之简单工厂模式

本文介绍了简单工厂模式(静态工厂方法模式)的理论与实现。该模式通过工厂类根据参数创建不同产品实例,包含工厂、抽象产品和具体产品三个角色。文章分析了其优缺点:优点是实现创建与使用分离,缺点是违反开闭原则且扩展性差,适用于创建对象较少的场景。通过Java代码演示了图表工厂的完整版和简化版实现(合并抽象产品与工厂类)。最后提供了相关学习资源,完整代码已上传GitHub仓库。

C2961034922的博客 1069

Java 23 种设计模式概述 与 简单工厂模式

目录 Java 设计模式概述 设计模式六大原则 简单工厂模式 普通简单工厂 多方法简单工厂 静态方法简单工厂 Java 设计模式概述 1、Java 23 种设计模式总体来说分为三大类: 1)创建型模式共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式 、原型模式 2)结构型模式共七种:适配器模式、 装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 3)行...

蚩尤后裔-汪茂雄 1357

设计模式—创建型—简单工厂(又叫静态工厂方法,不属于GOF23中设计模式)

简单工厂模式属于类的创新型模式,又叫静态工厂方法模式,是通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。 —————————————————————————————————————————————————————————————— 角色 工厂角色:简单工厂模式的核心,它负责实现创建所有实例的内部逻辑。工厂类的创建产品类的方法可以被外界直接调用,创建所需的产品对象。

路漫漫其修远兮,吾将上下而求索。 1652
上一篇: Java 架构师是怎样练成的
下一篇: Java 23种设计模式之外观模式详解
程xxx
博客等级 码龄14年 7粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值