iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Java工厂模式的使用细则是什么
  • 139
分享到

Java工厂模式的使用细则是什么

2023-07-05 04:07:38 139人浏览 独家记忆
摘要

这篇文章主要介绍了Java工厂模式的使用细则是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java工厂模式的使用细则是什么文章都会有所收获,下面我们一起来看看吧。工厂模式工厂模式顾名思义就是生产实例的工厂

这篇文章主要介绍了Java工厂模式的使用细则是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java工厂模式的使用细则是什么文章都会有所收获,下面我们一起来看看吧。

工厂模式

工厂模式顾名思义就是生产实例的工厂,使用工厂模式不会在程序中使用new关键字创建实例。而是将创建对象的细节隐藏,对外提供统一的方法,外部通过该方法获取实例。以此降低调用者与程序之间的耦合性,更加灵活

工厂模式可以分为三类

  • 简单工厂模式

  • 工厂方法模式

  • 抽象工厂模式

简单工厂模式

定义一个接口,将创建对象和其本身的业务分离解耦,如下示例:

public interface Pet {    void shout();}public class Cat implements Pet{    public void shout() {        System.out.println("猫叫");    }}public class Dog implements Pet{    public void shout() {        System.out.println("狗叫");    }}// 宠物工厂public class PetFactory {    // 方式一    public static Pet getPet(String pet) {        if (pet.equals("小猫")) {            return new Cat();        } else if (pet.equals("小狗")) {            return new Dog();        } else {            return null;        }    }    // 方式二    public static Pet getCat(){        return new Cat();    }    public static Pet getDog(){        return new Dog();    }}// 用户类public class Customer {    public static void main(String[] args) {        Pet pet = PetFactory.getPet("小猫");        pet.shout();    }}// 输出 : 猫叫

如上述代码所示,创建对象只需要直接调用PetFactory工厂的创建方法即可,根据用户需求来创建指定对象,执行对应方法

工厂方法模式

工厂方法模式相对于简单工厂,提高了拓展性,可以在不影响原有类的情况下实现横向扩展其他类,但是代码量加大,可能会产生更多的代码冗余。

我们针对每一个类都为其设置单独的工厂,即每个工厂只生产一种类型,如果在需要新增其他类型那么只需要创建其工厂提供获取实例方法即可

public interface Pet {    void shout();}public class Cat implements Pet {    public void shout() {        System.out.println("猫叫");    }}public class CatFactory {    public static Pet getCat(){        return new Cat();    }}public class Customer {    public static void main(String[] args) {        Pet cat = CatFactory.getCat();        cat.shout();    }}

使用工厂方法模式可以再不修改原有代码的基础上继续扩展,但是工作量较大

对比简单工厂和工厂方法模式:就代码和结构的复杂度,使用简单工厂模式更加简便,但是对于可拓展性则工厂方法模式更加优越

抽象工厂模式

抽象工厂用于常见一系列相关对象的家族,抽象的意思是,我们会定义一个工厂接口并且不做任何实现,只用来约束它的实现工厂生产产品的规范。

四大核心:抽象工厂、具体工厂、抽象产品、具体产品

以华为、小米生产手机和电视为例:

Java工厂模式的使用细则是什么

代码如下:

// 工厂接口public interface ProductFactory {    RouterProduct getRouter();  // 生产路由器    PhoneProduct getPhone();   // 生产手机}// 手机、路由器接口public interface PhoneProduct { void close();}public interface RouterProduct {void start();}// 工厂public class HuaweiFactory implements ProductFactory{  public RouterProduct getRouter() {return new HuaweiRouter();}  public PhoneProduct getPhone() {    return new HuaweiPhone();  }}public class XiaoMiFactory implements ProductFactory{  public RouterProduct getRouter() {    return new XiaoMiRouter();  }  public PhoneProduct getPhone() {    return new XiaoMiPhone();  }}// 测试public static void main(String[] args) {  // 拿到工厂对象  XiaoMiFactory miFactory = new XiaoMiFactory();  HuaweiFactory huaweiFactory = new HuaweiFactory();  // 小米工厂生产  PhoneProduct miFactoryPhone = miFactory.getPhone();  miFactoryPhone.close();  RouterProduct router = miFactory.getRouter();  router.start();  // 华为工厂生产  PhoneProduct phone = huaweiFactory.getPhone();  phone.close();  RouterProduct router1 = huaweiFactory.getRouter();  router1.start();}

还有其他的产品接口实现类,华为手机、小米手机、华为路由器等等

同样的抽象工厂模式也可以进行扩展但是比较繁琐,需要再顶级工厂也就是工厂接口中去扩展,但是扩展之后其所有的实现类也都需要完成实现。如果是长期稳定状态下可以这样扩展,但是经常改动的话抽象工厂模式就显得非常鸡肋

关于“Java工厂模式的使用细则是什么”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Java工厂模式的使用细则是什么”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网精选频道。

--结束END--

本文标题: Java工厂模式的使用细则是什么

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

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

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

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

下载Word文档
猜你喜欢
  • Java工厂模式的使用细则是什么
    这篇文章主要介绍了Java工厂模式的使用细则是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java工厂模式的使用细则是什么文章都会有所收获,下面我们一起来看看吧。工厂模式工厂模式顾名思义就是生产实例的工厂...
    99+
    2023-07-05
  • Java工厂模式的使用细则介绍
    目录工厂模式简单工厂模式工厂方法模式抽象工厂模式工厂模式 工厂模式顾名思义就是生产实例的工厂,使用工厂模式不会在程序中使用new关键字创建实例。而是将创建对象的细节隐藏,对外提供统一...
    99+
    2023-02-21
    Java工厂模式 Java工厂设计模式 设计模式工厂模式
  • java中的工厂模式是什么
    本篇内容介绍了“java中的工厂模式是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!目录前言试例 创建饮料接口(或者抽象类) 具体饮料类...
    99+
    2023-06-20
  • java工厂模式的详细介绍
    本篇内容介绍了“java工厂模式的详细介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Java设计模式-工厂模式什么是工厂模式?工厂模式(...
    99+
    2023-06-20
  • 什么是Javascript工厂模式
    这篇文章主要介绍“什么是Javascript工厂模式”,在日常操作中,相信很多人在什么是Javascript工厂模式问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”什么是Jav...
    99+
    2024-04-02
  • 什么是php工厂模式
    PHP工厂模式是一种创建对象的设计模式,它通过一个工厂类来创建其他类的对象,而不是直接在代码中使用new关键字实例化对象。工厂模式可...
    99+
    2023-08-24
    PHP
  • 什么是抽象工厂模式
    这篇文章主要介绍“什么是抽象工厂模式”,在日常操作中,相信很多人在什么是抽象工厂模式问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”什么是抽象工厂模式”的疑惑有所帮助!接下来,...
    99+
    2024-04-02
  • 设计模式之什么是工厂模式
    本篇内容主要讲解“设计模式之什么是工厂模式”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“设计模式之什么是工厂模式”吧! 01 简单工厂方法简单工厂方法...
    99+
    2024-04-02
  • Java简单工厂模式详细解释
    目录简单工厂模式概述简单工厂模式的结构与实现结构:实现简单工厂模式的简化简单工厂模式的优缺点和适用环境简单工厂模式的优点简单工厂模式的缺点简单工厂模式的适用环境简单案例题目:UML:...
    99+
    2024-04-02
  • Flask使用工厂模式
    目录1、工厂模式2、使用工厂方法创建 app 对象 1、工厂模式 在面向对象编程中,工厂模式是开发过程中最常用的设计模式之一,属于创建型模式,就是通过一个接口函数或对象来创建其他对象...
    99+
    2024-04-02
  • JavaScript抽象工厂及工厂方法模式是什么
    这篇文章主要介绍“JavaScript抽象工厂及工厂方法模式是什么”,在日常操作中,相信很多人在JavaScript抽象工厂及工厂方法模式是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,...
    99+
    2024-04-02
  • java工厂模式创建对象的方法是什么
    Java工厂模式创建对象的方法是通过工厂类来创建对象。工厂类根据客户端的需求,创建一种或多种不同类型的对象。这种方法将对象的实例化过...
    99+
    2023-10-20
    java
  • java工厂模式怎么写
    这篇文章主要介绍“java工厂模式怎么写”,在日常操作中,相信很多人在java工厂模式怎么写问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java工厂模式怎么写”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    99+
    2023-06-19
  • Java超详细讲解设计模式之一的工厂模式
    目录工厂模式1.简单工厂1.1结构1.2实现1.3优缺点1.4扩展2.工厂方法2.1结构2.2实现2.3优缺点3.抽象工厂3.1结构3.2实现3.3优缺点4.模式扩展4.1实现工厂模...
    99+
    2024-04-02
  • php中工厂模式的原理是什么
    本篇文章为大家展示了php中工厂模式的原理是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1、说明工厂模式解决的是如何不通过new建立实例对象。它有一些方法可以创建目标,而不是new。如果想改变...
    99+
    2023-06-15
  • JAVA抽象工厂模式是什么及怎么实现
    这篇文章主要讲解了“JAVA抽象工厂模式是什么及怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JAVA抽象工厂模式是什么及怎么实现”吧!什么是抽象工厂模式抽象工厂(AbstractF...
    99+
    2023-06-30
  • 使用java工厂模式的好处有哪些
    使用Java工厂模式的好处包括: 解耦:工厂模式可以将对象的创建和使用分离,客户端只需要关注接口和抽象类,无需关心具体的实现类,...
    99+
    2024-02-29
    java
  • java的工厂模式怎么实现
    在Java中,工厂模式可以通过两种方式来实现:简单工厂模式和抽象工厂模式。 简单工厂模式: 简单工厂模式的核心是定义一个工厂类,该类...
    99+
    2024-02-29
    java
  • Java简单工厂,工厂方法,抽象工厂模式怎么实现
    这篇文章主要讲解了“Java简单工厂,工厂方法,抽象工厂模式怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java简单工厂,工厂方法,抽象工厂模式怎么实现”吧!1、简单工厂模式1.定...
    99+
    2023-06-29
  • Java设计模式的工厂模式怎么实现
    本篇内容介绍了“Java设计模式的工厂模式怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!工厂模式在Java应用程序中对象无处不在,这...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作