工厂模式-工厂方法模式实现

news/2024/11/18 5:29:45/

具体的产品有具体的工厂类生产,这样当新增商品时,不需要修改原来的工厂类

主要有4个角色

抽象工厂

具体工厂

抽象产品

具体产品

1. 定义抽象产品,本文以生产手机为例

/*** @desc 抽象产品**/
public interface Phone {
}

2. 定义具体产品-Apple

/*** @desc 具体产品-Apple**/
public class ApplePhone implements Phone {
}

3. 定义具体产品Xiaomi

/*** @desc 具体产品-小米手机**/
public class XiaomiPhone implements Phone {
}

4. 定义抽象工厂

/*** @desc 抽象工厂**/
public interface PhoneAbstractFactory {Phone createPhone();
}

5. 定义具体工厂-Apple


http://www.ppmy.cn/news/1547913.html

相关文章

SpringBootCloud 服务注册中心Nacos对服务进行管理

介绍 Nacos(Naming and Configuration Service)是一个开源的、动态的服务发现、配置管理和服务管理平台,特别适用于云原生应用和微服务架构。它可以作为服务注册中心,用于微服务的注册、发现、配置管理等。在微服务架构中&#x…

赛元免费开发板申请

在作者网上冲浪的时候,突然发现了一个国内的良心企业,虽然现在不是很有名,但是他现在是有一个样品申请的活动,他就是国内的Redfine新定义,他申请的板子是用的赛元MCU,作者本着有板子就要申请的原则&#xf…

RHCSA学习超详细知识点2命令篇

输入命令行的语法 终端中执行命令需要遵照一定的语法,输入命令的格式如下: 命令 参数命令 -选项 参数 输入命令时可以包含多个选项,假如一个命令有-a,-b,-c,-d四个选项,可以写作 命令 -a -b -c -d 参数 这里的多个选项可以“提…

在ubuntu下,使用Python画图,无法显示中文怎么解决

1.首先需要下载中文字体,推荐simsun,即宋体,地址如下 https://www.freefonts.io/download/simsun/ 2.下载完要把字体文件放进字体目录,具体方法如下; a.创建字体目录:sudo mkdir -p /usr/share/fonts/truet…

STM32——外部中断

本文讲解STM32的中断系统和外部中断,中断系统是管理和执行中断的逻辑结构,外部中断是众多能产生中断的外设之一,所以本节内容见就借用外部系统学习中断系统。 一、中断系统 相关定义 1. 中断 定义:在主程序运行过程中&#xff…

Java——并发工具类库线程安全问题

摘要 本文探讨了Java并发工具类库中的线程安全问题,特别是ThreadLocal导致的用户信息错乱异常场景。文章通过一个Spring Boot Web应用程序示例,展示了在Tomcat线程池环境下,ThreadLocal如何因线程重用而导致异常,并讨论了其他并发…

ELMo模型介绍:深度理解语言模型的嵌入艺术

ELMo模型介绍:深度理解语言模型的嵌入艺术 引言 在自然语言处理(NLP)领域,词嵌入(word embedding)是将词汇或短语从词汇表映射到向量的数学表示,这些向量能够捕捉词汇之间的语义和语法关系。E…

P1325 雷达安装

题目&#xff1a;P1325 雷达安装 代码分析&#xff1a; #include<bits/stdc.h> using namespace std; long long n,d,x[10005],y[10005]; struct node{double l,r; }a[1010]; bool cmp(node A,node B){return A.r<B.r;//按右端点从小到大排序 } int main(){cin>…