抽象工厂模式

抽象工厂模式,就是用一个超级工厂创建其他的工厂,这个超级工厂也称之为其他工厂的工厂;相较于工厂模式来说,具有更复杂的关系,故用来解决一个家族里面有多个分支的情况。
比如一个家族有多个派系,黑种人,黄种人,白种人,每一类的人又有男女之分。不多说,直接上代码吧

第一步:首先创建一个人类接口

抽象工厂模式

第二步:创建男人,女人的抽象类

抽象工厂模式
抽象工厂模式

第三步:实现这些抽象类,创建不同种类的性别不同的人,我就举个例子
黑人

抽象工厂模式
抽象工厂模式
后面就自己根据情况写吧
这样准备工作就做完了

第四步:就要使用到我们抽象工厂的核心理念了,用一个超级工厂创建其他的工厂
创建一个超级工厂

抽象工厂模式

第五步:让所有肤色的人实现着,并重写里面的方法,创建每类对应性别的人
比如:黄种人

抽象工厂模式

第六步:到了检验效果的时候了

抽象工厂模式

ok,这样一个超级工厂就创建完成了。
下一篇:6种类型的单例模式!!!

Original: https://www.cnblogs.com/itmuzi/p/16347292.html
Author: itMuzi
Title: 抽象工厂模式

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/592371/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Java性能调优工具

    JDK命令行:jps、jinfo、jstat、jmapMAT:Eclipse Memory AnalyzerJMX – Jconsole,VisualVMBtrace:…

    Java 2023年5月29日
    068
  • Java 反汇编指南javap

    前言 在正式解读《Effective Java》之前,我们需要先了解 Java 反汇编,因为反汇编是我们学习和研究问题的重要手段之一。 结合反汇编才能更好地理解《Effective…

    Java 2023年5月29日
    0100
  • jetty之maven配置

    org.mortbay.jetty jetty-maven-plugin 7.1.6.v20100715 9988 foo 5 8080 60000 / Original: htt…

    Java 2023年6月6日
    096
  • 01-RocketMQ介绍

    一、MQ介绍 1、什么是MQ?为什么要用MQ? MQ:MessageQueue,消息队列。 队列,是一种FIFO 先进先出的数据结构。消息由生产者发送到MQ进行排队,然后按原来的顺…

    Java 2023年6月7日
    0134
  • Core Java 总结(异常类问题)

    所有代码均在本地编译运行测试,环境为 Windows7 32位机器 + eclipse Mars.2 Release (4.5.2) 2016-10-17 整理 下面的代码输出结果…

    Java 2023年5月29日
    091
  • fast json 乱序问题解决过程

    解决问题:保存到redis中的jsonstring在转回jsonObject的时候乱序; 解决方案:https://inlhx.iteye.com/blog/2312512 解决过…

    Java 2023年6月13日
    094
  • 怎么关闭电脑系统提示声音

    1、在电脑桌面的空白处,点击鼠标右键,在跳转的选项中点击”个性化”。 2、页面进入”个性化”设置中。 3、点击页面下方的&#8221…

    Java 2023年6月5日
    0128
  • “@Value 注入失败”引发的一系列骚操作

    背景 模拟 @Value成功的场景 模拟注入不成功的场景 看看为什么没有注入成功 为什么加 static和不加 static的加载顺序是不一样的呢 我们不加 static,能不能也…

    Java 2023年6月8日
    077
  • 整理的Java List Set Map是否有序,元素是否允许重复

    整理的Java List Set Map是否有序,元素是否允许重复的说明,如下图: Original: https://www.cnblogs.com/muyuge/p/61524…

    Java 2023年5月29日
    075
  • EasyExcel的基本使用

    官方网址:https://www.yuque.com/easyexcel/doc/easyexcel 应用场景 数据导入:减少录入工作量 数据导出:统计信息归档 数据传输:异构系统…

    Java 2023年6月13日
    089
  • centos 7 IP不能访问nginx Failed connect to 185.239.226.111:80; No route to host解决办法

    服务器环境 centos 7.4 问题描述 1.可以ping通IP ,用IP访问nginx 不能访问,在服务器上curl localhost curl 185.239.226.11…

    Java 2023年5月30日
    090
  • 解决 No IDEA annotations attached to the JDK 1.8和xml文件没有代码提示

    Android studio3.3 用着用着突然xml里没有代码联想了,忙着做其他的就没管,写xml的时候就硬写… 然后今天用着突然在class文件上方提示 No ID…

    Java 2023年5月30日
    073
  • Elasticsearch 入门实战(4)–Java Low Level REST Client 使用

    本文主要介绍 Elasticsearch Java Low Level REST Client 的使用,相关的环境及软件信息如下:CentOS 7.6.1810、Java 1.8….

    Java 2023年6月16日
    092
  • POI往word模板中写入数据

    word导出excel表格自适应宽度 https://www.cnblogs.com/libin6505/p/10339045.html Word 模板引擎,基于Apache po…

    Java 2023年5月29日
    096
  • Day01

    MarkDownd 标题 三级标题 字体 Hellow,World! Hellow,World! Hellow,World! Hellow,World! 引用 选择博客园,走向人生…

    Java 2023年6月13日
    080
  • Servlet中跨域问题详解

    一、什么是跨域 跨域,是指浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript实施的安全限制。 浏览器从一个域名的网页去请求另一个域名的资源时…

    Java 2023年6月6日
    073
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球