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

news2024/11/15 15:46:51

一、场景简介

1、引入场景

订餐流程简单描述

  • 食品抽象类,规定食品的基础属性操作

  • 鱼类,鸡肉类食品类扩展

  • 订餐流程类,根据食品名称,加工指定类型食品

  • 模拟客户端预定操作

2、源代码实现

关系图谱

代码实现

/**
 * 简单工厂模式引入场景
 */
public class C01_InScene {
    public static void main(String[] args) {
        OrderFood1 orderFood = new OrderFood1() ;
        orderFood.orderFood("fish") ;
        orderFood.orderFood("chicken") ;
    }
}
/**
 * 订餐流程
 */
class OrderFood1 {
    public Food1 orderFood (String foodName){
        Food1 food1 = null ;
        if (foodName.equals("fish")){
            food1 = new FishFood1() ;
            food1.setName("黑鱼");
        } else if (foodName.equals("chicken"

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/381968.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【word】论文排版思路

1、 首先把所有中文的字体都按照要求改一下,记住都改成正文的字号和字体,后面再修改标题的,然后再改英文的,不要把顺序弄错了,不然得回头再改标题 然后定位文章里所有英文方法如下: 按CTRLF打开替换对话…

记录--虚拟滚动探索与封装

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 1. 介绍 什么是虚拟滚动?虚拟滚动就是通过js控制大列表中的dom创建与销毁,只创建可视区域dom,非可视区域的dom不创建。这样在渲染大列表中的数据时,只创…

快速生成QR码的方法:教你变成QR Code Master

目录 简介: 具体实现步骤: 一、可以使用Python中的qrcode和tkinter模块来生成QR码。以下是一个简单的例子,演示如何在Tkinter窗口中获取用户输入并使用qrcode生成QR码。 1)首先需要安装qrcode模块,可以使用以下命令在终端或命令…

aws batch 理解和使用batch进行批处理计算

文档 Compute Resource Memory ManagementRunning Workload on AWS Batch aws batch 是云上的批处理平台,通过托管环境减少了管理成本。包括配置大量计算资源,更具任务负载优化资源分配。 基本概念 job(任务),提交到…

C语言-结构体【详解】

一、 结构体的基础知识 结构是一些值的集合,这些值称为成员变量结构的每个成员可以是不同类型的变量 (1)结构体的声明 写法一: 注: 括号后边的分号不能忘结构体末尾可以不创建变量,在主函数中再创建 struc…

【ChatGPT】sqlachmey 多表连表查询语句

感受下科技带来的魅力,这篇文章是通过ChatGPT自动生成的,不得不说技术强大!!! 在SQLAlchemy中进行多表连接查询可以使用join()方法或join()函数,具体用法如下: join()方法 join()方法可以在SQLAlchemy ORM中的查询中使用。假设…

根据指定函数对DataFrame中各元素进行计算

【小白从小学Python、C、Java】【计算机等级考试500强双证书】【Python-数据分析】根据指定函数对DataFrame中各元素进行计算以下错误的一项是?import numpy as npimport pandas as pdmyDict{A:[1,2],B:[3,4]}myDfpd.DataFrame(myDict)print(【显示】myDf)print(myDf)print(【…

SMILES标准化方法以及其中的一个坑(手性)

rdkit.Chem.MolToSmiles()方法是用于将RDKit分子对象转换为SMILES字符串的方法。它的参数如下: mol:必需,要转换为SMILES字符串的RDKit分子对象。isomericSmiles:bool类型,是否生成同分异构体SMILES,默认为…

培训班出身的同学简历怎么做?面试要注意哪些?来自资深大厂HR的忠告

目录 1 不少培训班候选人的简历中,缺乏足够的商业项目年限 2 直接描述培训班学习经历会带来的负面影响 3 大龄转行Vs年轻的初级程序员,公司一般会如何选择? 4 经过培训班突击后,可以先面试小公司 5 面试官怎么面试有培训班经历…

安卓开发到底是做什么的

前言 在某平台看到了这样一个问题: 要知道,安卓开发是当前软件行业中的一个热门方向,它涉及到使用 Java 或 Kotlin 语言开发应用程序,运行在安卓操作系统上的手机、平板电脑、电视等设备上。在过去的几年中,随着智能…

追溯ChatGPT

ChatGPT 国内趋势 在国际学术界看来,ChatGPT / GPT-3.5 是一种划时代的产物 它与之前常见的语言模型 (Bert/ Bart/ T5) 的区别,几乎是导弹与弓箭的区别,一定要引起最高程度的重视 国际上的主流学术机构 (如斯坦福大学,伯克利加…

Ep_计网面试题-UDP实现TCP?

其实把TCP优点拿过来就行 直接上答案: 1、添加seq/ack机制,确保数据发送到对端 2、添加发送和接收缓冲区 3、添加超时重传机制 视频讲解: https://edu.csdn.net/course/detail/38090 点我进入 面试宝典 很多人不知道面试问什么,或者其他的XXGuide,那里边的太多没…

示波器上位机软件下载安装教程

软件:示波器软件NS-Scope 语言:简体中文 环境:NI-VISA安装环境:Win10以上版本(特殊需求请后台私信联系客服) 硬件要求:CPU2GHz 内存4G(或更高)硬盘500G(或更高) 驱动…

第十二 代码块、设计模式(懒汉、饿汉)

代码块概述 ●代码块是类的5大成分之一(成员变量、构造器,方法,代码块,内部类),定义在类中方法外。 ●在ava类下,使用{}括起来的代码被称为代码块。 代码块分为 静态代码块: 格式:static{ 特点:需要通过static关键字修…

企业个人,没有品牌不好混

企业、个人没品牌没法持续混下去 “品牌资产”需要持续积累 频繁切换,品牌无法立 趣讲大白话:没点品牌没法混 【安志强趣讲信息科技91期】 ******************************* 企业品牌资产:指能给企业带来效益的消费者品牌认知,包括…

『C/C++养成计划』C++中的双冒号::名解析(Scope Resolution Operator)

C中的双冒号::名解析(Scope Resolution Operator)! 文章目录1. 访问命名空间中的成员2. 访问类中的静态成员3. 嵌套类访问4. 在类之外定义函数5. 当存在具有相同名称的局部变量时,要访问全局变量6. C模板参数的自动推导参考文献C中的双冒号名解析&#…

外贸人如何写出优秀的开发信?附详细思路

如何写出优秀的开发信?最近做出口生意的客户都在抱怨,开发信的回复率越来越低,其实原因有很多,有时候并非自己的能力实在很欠缺。原因总结如图:第一:市场不景气这个就是就属于客观因素了,这也许…

InstructGPT论文笔记

论文链接:https://arxiv.org/pdf/2203.02155.pdf 1 摘要 做的事: 1、标注了数据,问题和答案写出来,然后训练模型 2、收集数据集,排序模型的输出,使用强化学习训练这个排序的过程 效果层面来说&#xff1…

思迅软件端口不通导致软件和软锁报错的问题

一、端口不通导致软件和软锁报错的问题 问题说明:打开软件提示到:xxx.xxx.xxx.xxx失败! 处理步骤1: 假设软锁服务器IP为192.168.0.1,分别在服务器本机和客户端电脑测试软锁服务: 在服务器的浏览器中访问地址: http:/…

ChatGPT(GPT3.5) OpenAI官方API正式发布

OpenAI社区今天凌晨4点多发送的邮件,介绍了ChatGPT官方API的发布。官方介绍文档地址为“OpenAI API”和“OpenAI API”。 ChatGPT(GPT3.5)官方API模型名称为“gpt-3.5-turbo”和“gpt-3.5-turbo-0301”。API调用价格比GPT text-davinci-003模型便宜10倍。调用费用为…