首页 > 其他分享 >杜撰23中设计模式--抽象工厂模式

杜撰23中设计模式--抽象工厂模式

时间:2023-10-23 23:55:31浏览次数:51  
标签:水果 23 -- 工厂 具体 苹果 抽象 设计模式 北方

抽象工厂模式。

我们需要一个抽象工厂,不同的具体工厂继承抽象工厂。具体的工厂不再生产单一的产品,而是生产一系列的产品,可以具体工厂生产的一系列的产品每一个类进行抽象,对这一系列产品设置好该具体工厂应该产生的类型。

举例:

水果抽象工厂,有两个具体工厂继承   南方水果工厂,北方水果工厂。

两个具体的工厂,又有一系列的产品:苹果和梨子

 

 那么我们需要一个

水果有自己的工厂分类,苹果和梨。这里的苹果和梨是抽象,不是具体,具体是南方的苹果还是北方的苹果,南方的梨还是北方的梨

 

 最终,我们在调用的时候,它让具体的创建实例与客户端分离,客户端是通过他们的抽象接口操纵实例,产品的具体类名也被具体工厂的实现分离,不会出现在客户代码中。、

这里,我们创建完北方工厂后,调用getApple一定是北方工厂生产返回一个被反的苹果,或者北方的梨,在getApple和getpear中,return new northApple()

 

标签:水果,23,--,工厂,具体,苹果,抽象,设计模式,北方
From: https://www.cnblogs.com/dwj-ngu/p/17783787.html

相关文章

  • 基于MFCC特征提取和GMM训练的语音信号识别matlab仿真
    1.算法运行效果图预览 2.算法运行软件版本matlab2022a 3.算法理论概述       语音信号识别是将输入的语音信号映射到对应的文本或语音标签的过程。基于MFCC(Mel-FrequencyCepstralCoefficients)特征提取和GMM(GaussianMixtureModel)训练的方法在语音识别领域取......
  • <<Mysql是怎样运行的>>小记-2
    第十章:单表访问方法MysqlServer中又有一个叫优化器的模块,在Mysql服务端对一条查询语句进行语法解析之后,会将其再交给优化器来进行优化,在优化后会获得一个执行计划.这个执行计划中表明了应该使用哪些索引查询,还有表之间的连接顺序等等.最后会按照该执行计划中的步骤调用存......
  • 杜撰23中设计模式--观察者模式
    一对多的依赖关系。对象的状态发生改变(一),依赖对象得到通知并进行更新操作。观察者: 这里的Observer定义了观察者的通用的方法update,在这里重写了update方法。 被观察对象的类:被观察对象类继承被观察对象接口Observable,这个接口 维护一个观察者列表,一个changed状态值标......
  • 第六课
    for循环()里面的含义:初始量,循环条件,循环每轮要做的事。for与whlie的不同体现在for是先把条件写出来,包括每轮要做的事;但while是需要在后面补充的                              任何一个for循环都可以改成whlie循环......
  • EJB
    2023.10.231.weblogic中开发消息Bean时的persistent与non-persisten的差别:persistent方式的MDB可以保证消息传递的可靠性,也就是如果EJB容器出现问题而JMS服务器依然会将消息在此MDB可用的时候发送过来。non-persistent方式的消息将被丢弃。......
  • BOM、DOM、事件监听
    BOM概念:BrowserObjectModel浏览器对象模型,允许JavaScript与浏览器对话,JavaScript将浏览器的各个组成部分封装为对象组成:Window:浏览器窗口对象Navigator:浏览器对象Screen:屏幕对象History:历史记录对象Location:地址栏对象 Window:浏览器窗口对......
  • 学校(抽象dp)
    题目简述选择的学校编号依次为\(p1,p2,p3,...,pk(1≤p1<p2<...<pk≤n)\),若存在\(i(1≤i≤k−3)\)使得$a_{p_i}⊕a_{p_{i+1}}⊕a_{p_{i+2}}⊕a_{p_{i+3}}=s$,则该序列不合法。求在所有\(2^{n−1}\)个可能的序列中问有多少个序列合法。你......
  • md5算法实现
    前言md5算法是我们经常会用到的一个hash函数,虽然已经被证明是不安全的了,但其应用依然十分广泛.哈希函数具有如下特点:将任意长度的字符串映射为固定长度源数据微小的改动会导致结果差异巨大不可逆暴力破解困难你有没有好奇过,哈希函数是如何做到这些的呢?本文就拿m......
  • Proj CDeepFuzz Paper Reading: POLYCRUISE: A Cross-Language Dynamic Information F
    Abstract本文:PolyCruiseMethod:跨编程语言的holisticdynamicinformationflowanalysis(DIFA)usealightlanguage-specificanalysis和language-agnosticonlinedataflowanalysis来计算symbolicdependencies实验:数据集:PolyBench,包含小中大三种等级的benchmarks效......
  • 首屏图片展示
     找到一个首页过度动画:<template><divref="centerBg"class="centerBg"><!--mask--><divv-if="len"class="mask"><divclass="grid":style="{gridTemplateColumns:......