iis服务器助手广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java 深入探究讲解简单工厂模式
  • 356
分享到

Java 深入探究讲解简单工厂模式

2024-04-02 19:04:59 356人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录1. 简单工厂介绍2. 简单工厂类图UML3. 简单工厂角色说明4. 代码实现5. 优缺点6. 使用场景1. 简单工厂介绍 简单工厂有一个具体的工厂类,可以生产不同的产品,属于创

1. 简单工厂介绍

简单工厂有一个具体的工厂类,可以生产不同的产品,属于创建型设计模式

注意:简单工厂模式 不属于23种设计模式之列

2. 简单工厂类图UML

img

3. 简单工厂角色说明

简单工厂(SimpleFactory):是简单工厂模式的核心,负责实现创建所有实例的内部逻辑,工厂类的创建产品类的方法可以被外界直接访问,创建所需的产品对象。

抽象产品(Product):是简单工厂创建所有对象的父类,负责描述所有实例公有的公共接口

具体产品(ConcreteProduct):是简单工厂创建的具体对象

4. 代码实现

简单工厂实现:


public interface Product {
    public void show();
}
​

public class ConcreteProduct1 implements Product {
    @Override
    public void show() {
        System.out.println("具体产品1展示...");
    }
}
​
​

public class ConcreteProduct2 implements Product {
    @Override
    public void show() {
        System.out.println("具体产品2展示...");
    }
}
​

public class SimpleFactory {
    //提供一个方法,基于不同的参数获取不同的实例对象
    public static Product getConcreteProduct(int productType) {
        switch (productType) {
            case Const.Product1:
                return new ConcreteProduct1();
            case Const.Product2:
                return new ConcreteProduct2();
            case Const.Product3:
                return new ConcreteProduct3();
        }
        return null;
    }
​
​
    final class Const {
        static final int Product1 = 1;//表示是ConcreteProduct1产品
        static final int Product2 = 2;//表示是ConcreteProduct2产品
        static final int Product3 = 3;//表示是ConcreteProduct3产品
    }
    

调用方式:

        //获取产品1
        Product product = SimpleFactory.getConcreteProduct(Const.Product1);
        product.show();
        //获取产品2
        Product product1 = SimpleFactory.getConcreteProduct(Const.Product2);
        product1.show();

使用步骤:

  • 创建抽象产品类和定义具体产品的公共接口
  • 创建具体产品类,定义生产的具体产品
  • 创建工厂类,通过创建静态方法根据传入不同的参数从而创建不同的具体产品的实例
  • 外界通过调用工厂类的静态方法,传入不同的参数创建不同的产品实例

5. 优缺点

优点:

  • 代码逻辑比较简单,工厂类包含必要的创建对象的逻辑,可以决定创建具体的产品
  • 调用方无需指导所创建具体产品的类名,只需要知道参数即可

缺点:

  • 简单工厂违背开闭原则,工厂类负责产品的创建职责过重,一旦新增产品需要对工厂类内部逻辑新增判断
  • 系统扩展困难,产品过多会造成逻辑过于复杂

6. 使用场景

对于产品种类比较少的情况,可以考虑使用简单工厂,调用方只需要传入工厂类的参数,不需要关注如何创建的逻辑.

到此这篇关于Java 深入探究讲解简单工厂模式的文章就介绍到这了,更多相关Java 简单工厂模式内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Java 深入探究讲解简单工厂模式

本文链接: https://www.lsjlt.com/news/145158.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java 深入探究讲解简单工厂模式
    目录1. 简单工厂介绍2. 简单工厂类图UML3. 简单工厂角色说明4. 代码实现5. 优缺点6. 使用场景1. 简单工厂介绍 简单工厂有一个具体的工厂类,可以生产不同的产品,属于创...
    99+
    2024-04-02
  • Java深入探究讲解抽象工厂模式
    目录1. 抽象工厂模式解决2. 抽象工厂类图UML3. 抽象工厂模式的主要角色4. 代码实现5. 抽象工厂方法再探究6. 优缺点7. 适用示例解决工厂方法模式的问题:一个具体工厂只能...
    99+
    2024-04-02
  • Java深入探究讲解工厂方法模式
    目录1. 工厂方法模式介绍2. 工厂方法模式类图UML3. 工厂方法模式角色说明4. 代码实现5. 工厂模式再探究6. 优缺点7. 应用场景1. 工厂方法模式介绍 定义:工厂方法模式...
    99+
    2024-04-02
  • 深入理解Java设计模式之简单工厂模式
    目录一、什么是简单工厂模式二、简单工厂模式的结构三、简单工厂模式的应用场景四、简单工厂模式和工厂方法模式区别五、简单工厂模式和策略模式的异同六、简单工厂模式的优缺点七、简单工厂模式的...
    99+
    2024-04-02
  • java简单工厂模式实例及讲解
    简单工厂模式 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创...
    99+
    2024-04-02
  • java简单工厂模式入门
    目录前言试例1. 创建饮料接口(或者抽象类)2. 具体饮料类的实现(可乐、雪碧)3. 饮料生产工厂类4. 工厂调用总结前言 定义一个工厂类,他可以根据参数的不同返回不同类的实例,被创...
    99+
    2024-04-02
  • Java工厂模式之简单工厂,工厂方法,抽象工厂模式详解
    目录1、简单工厂模式1.定义2.代码案例3.适用场景4.优缺点2、工厂方法模式1.定义2.代码案例3.适用场景4.优缺点3、抽象工厂模式1.定义2.代码案例3.适用场景4.优缺点4、...
    99+
    2024-04-02
  • Java工厂模式的深入了解
    目录一、简单工厂模式二、工厂方法模式三、抽象工厂模式3.1、抽象工厂模式的定义3.2、  抽象工厂模式的结构3.3抽象工厂模式代码示例四、小结一、简单工厂模式 何为简单工厂...
    99+
    2024-04-02
  • Java简单工厂模式详细解释
    目录简单工厂模式概述简单工厂模式的结构与实现结构:实现简单工厂模式的简化简单工厂模式的优缺点和适用环境简单工厂模式的优点简单工厂模式的缺点简单工厂模式的适用环境简单案例题目:UML:...
    99+
    2024-04-02
  • 如何理解Java简单工厂模式
    本篇文章为大家展示了如何理解Java简单工厂模式,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。简单工厂模式概述定义:定义一个工厂类,他可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的...
    99+
    2023-06-25
  • Java设计模式之简单工厂 工厂方法 抽象工厂深度总结
    目录工厂模式介绍好处常见的应用简单工厂(Simple Factory)适用场景角色分配:应用案例:优缺点:简单工厂实现:工厂方法(Factory Method)适用场景角色分配:应用...
    99+
    2024-04-02
  • java设计模式之简单工厂模式详解
    简单工厂模式:由一个工厂对象决定创建出哪一种类的实例。抽象类public abstract class People { public abstract void doSth();}...
    99+
    2023-05-31
    java 设计模式 简单工厂
  • 简单工厂模式和抽象工厂模式
    简单工厂模式,顾名思义,就是比较简单的一个模式,并且使用在业务比较简单的情况下,且具体产品不需要扩张它由三种角色组成工厂类,是这个模式的核心,含有一定的逻辑和判断,根据逻辑不同,产生具体的工厂产品抽象产品:具体产品的父类具体产品:工具抽象产...
    99+
    2023-06-02
  • Java 设计模式以虹猫蓝兔的故事讲解简单工厂模式
    目录专栏介绍本期介绍什么是简单工厂模式优点缺点应用场景简单工厂的实现专栏介绍 本系列专栏会以虹猫蓝兔七侠传的故事为例来给大家详细分析所有模式,希望能给大家带来帮助! 本期介绍 模式:...
    99+
    2024-04-02
  • Java设计模式之单件模式深入讲解
    目录定义Java单件模式经典单件模式的实现多线程单件模式的实现急切创建实例双重检查加锁Python单件模式模块实现new关键字实现装饰器实现函数装饰器类装饰器定义 单件模式确保一个类...
    99+
    2024-04-02
  • java简单工厂模式怎么实现
    在Java中,简单工厂模式可以通过以下步骤实现:1. 首先创建一个接口,表示产品的抽象类,其中定义了产品的一些共同的方法。```ja...
    99+
    2023-08-18
    java
  • 深入理解Java设计模式之抽象工厂模式
    目录一、什么是抽象工厂模式二、抽象工厂模式的应用场景三、抽象工厂模式和工厂方法模式对比四、抽象工厂模式的优缺点五、抽象工厂模式的实现六、总结一、什么是抽象工厂模式 为创建一组相关或相...
    99+
    2024-04-02
  • Java简单工厂,工厂方法,抽象工厂模式怎么实现
    这篇文章主要讲解了“Java简单工厂,工厂方法,抽象工厂模式怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java简单工厂,工厂方法,抽象工厂模式怎么实现”吧!1、简单工厂模式1.定...
    99+
    2023-06-29
  • 深入探究Java原型模式的魅力
    目录1. 什么是Java原型模式?2. 为什么要使用Java原型模式?3. Java原型模式的实现方式3.1浅克隆3.2 深克隆4. Java原型模式的优点5. Java原型模式的缺...
    99+
    2023-05-20
    Java原型设计模式 Java原型模式
  • C#实现简单工厂模式
    情景:有一个怪兽,HP是100,现在勇士有可以使用武器将其打败,有三种武器,木剑每次打击20血,铁剑每次50血,金刚剑每次100血,如果想要使用简单工厂方式,怎么设计? 一.啥是简单...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作