Java设计模式-工厂

server/2024/12/22 15:16:22/

Java设计模式中,工厂模式主要包括普通工厂模式以及抽象工厂模式,普通工厂模式是用于制造输出不同类型的对象,抽象工厂模式是用于制造输出不同类型的普通工厂,本文主要描述工厂模式的基本用法。

如上所示,使用普通工厂模式以及抽象工厂模式实现的类图,其中,类之间的关系体现出OOP(面向对象编程)的继承封装多态的基本特性

需求描述

构建不同类型国度,不同的国度构建不同的皇帝、城堡、军队,其中,不同的国度使用抽象工厂模式,每个国度使用普通工厂模式

App类

设计模式运行类,用于测试抽象工厂模式以及普通工厂模式

AppTest类

设计模式测试类,用于测试App类

AbstractFactoryTest类

抽象工厂模式测试类,用于构建普通工厂类,其中,该类与App类构成关联关系

Kingdom类

构建国度类,国度类中包括皇帝、城堡以及军队

FactoryMaker类

该类是Kingdom类的静态内部类,使用抽象工厂模式构建国度普通工厂,其中,该类的方法makeFactory根据输入的国度类型构建不同的国度普通工厂

KingdomFactory接口

国度普通工厂接口,用于实现不同类型的国度普通工厂类,使用普通工厂模式构建不同的国度Kingdom类

ElfKingdomFactory类

国度普通工厂KingdomFactory接口实现类,类实现接口体现出OOP的多态性,一个接口可以被不同的类实现,一个类可以实现多个不同的接口,每个接口类型体现出不同的行为形态

OrcKingdomFactory类

国度普通工厂KingdomFactory接口实现类

KingdomType类

国度类型,是枚举类型,用于构建不同类型的国度普通工厂,其中,包括Elf类型的国度以及Orc类型的国度

King接口

皇帝接口,用于实现不同类型的皇帝

ElfKing类

皇帝King接口实现类,实现Elf类型国度的皇帝

OrcKing类

皇帝King接口实现类,实现Orc类型国度的皇帝

Army接口

军队接口,用于实现不同类型的军队

ElfArmy类

军队Army接口实现类,实现Elf类型国度的军队

OrcArmy类

军队Army接口实现类,实现Orc类型国度的军队

Castle接口

城堡接口,用于实现不同类型的城堡

ElfCastle类

城堡Castle接口实现类,实现Elf类型国度的城堡

OrcCastle类

城堡Castle接口实现类,实现Orc类型国度的城堡


http://www.ppmy.cn/server/40423.html

相关文章

ChatGPT DALL-E绘图,制作各种表情包,实现穿衣风格的自由切换

DALL-E绘图功能探索: 1、保持人物形象一致,适配更多的表情、动作 2、改变穿衣风格 3、小女孩的不同年龄段展示 4、不同社交平台的个性头像创作 如果不会写代码,可以问GPT。使用地址:我的GPT4 视频,B站会发&#…

安全工程师基础模拟试题

安全工程师基础模拟试题作为一名安全工程师,掌握基本的安全知识和技能是必不可少的。下面是一些基础模拟试题,帮助您检验自己的安全工程师能力。1.在网络安全中,什么是… 1安全工程师基础模拟试题 作为一名安全工程师,掌握基本的…

第三章 crash recovery机制

第三章 crash recovery机制 一、为什么需要crash recovery 首先要从PostgreSQL的WAL说起。PG是面向磁盘的关系型数据库,数据的更新都需要在内存中完成,落盘才能保证持久化。普通硬盘的随机读写性能远小于顺序读写性能,而OLTP型业务大部分都是随机读写,若每次事务提交时都…

下水道井盖多分类检测定位

下水道井盖识别,多分类,使用yolov5训练,采用一部分开源数据集和自建数据集。python pytorch opencv 深度学习#人工智能#深度学习#目标检测

力扣:300. 最长递增子序列(Java,动态规划)

目录 题目描述:示例 1:示例 2:代码实现: 题目描述: 给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列,删除(或不删除)数组中…

C语言-STM32-定时器:定时器的输入捕获

定时器在嵌入式系统中常用于执行周期性任务、中断服务或测量时间间隔。输入输出捕获(Input Capture and Output Compare,简称ICP和OCM)是定时器的两种重要功能,用于处理与时间相关的事件。以下是它们的基本概念: 1、输…

网络安全(黑客)自学启蒙

当我们谈论网络安全时,我们正在讨论的是保护我们的在线空间,这是我们所有人的共享责任。网络安全涉及保护我们的信息,防止被未经授权的人访问、披露、破坏或修改。 一、网络安全的基本概念 网络安全是一种保护:它涉及保护我们的设…

Word应用:一键提取手写签名

1、将带有签名的图片插入到word文档中,裁剪出签名部分; 2、点击“格式-颜色”,选择“重新着色”中的“黑白50%”; 3、“格式-颜色”,设置透明色; 4、选择“文件”选项卡,选择打开“选项”,点击“…