设计模式之生成器模式

2023-11-07

将一个复杂对象的创建和它的表示分离,使得同样的创建过程可以有不同的表示。

应用场景:一水杯工厂要生产各式各样的水杯,无论杯子是神马造型,但都包括绳子,帽子和杯体。以此模型创建各种类型的杯子。

这里写图片描述

类图
这里写图片描述

cup类

public class Cup {

    private String string;    //绳子
    private String cap;       //帽子
    private String cupBody;   //杯体

    public void setString
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

设计模式之生成器模式 的相关文章

  • java设计模式 连续处理_Java 设计模式(12) —— 状态模式

    一 状态模式 能根据内部状态的变化 改变对象的行为 看起来好像修改了类 状态模式 二 示例 智能糖果机 需要设计一款自助购买的糖果机 糖果机的状态有 准备使用 接下来可投入硬币 投入硬币 接下来可摇动把手或者退出硬币 售出糖果 接下来可恢复
  • 每天一个adb命令:screen 命令详解

    screen命令分为截屏screencap命令及录制视频screenrecord命令 screencap命令 sage screencap hp d display id FILENAME h this message p save the

随机推荐

  • 启动node服务请求本地接口

    1 首先就是简单的安装配置node环境这里不做陈述 2 在自己电脑中新建一个文件夹 3 在文件夹里面创建一个app js文件 4 打开命令行输入 npm init 创建package json文件 配上npm init 选项 package
  • haha

    just a test
  • 一个自动生成测试用例的项目(github一个大神,曾经阿里P6的职位都没去的大神)

    https github com TesterlifeRaymond doraemon 这是一个自动生成测试用例的项目 您可以通过如下方式使用他 run in python3 1 在case file 路径下 找到case txt 并按照u
  • 如何解决使用libevent时的共享库加载问题“error while loading shared libraries: libevent-2.1.so.7: cannot open ...“

    在软件开发中 我们经常会使用各种库来加速开发和提高程序的性能 但有时候 在使用这些库的过程中 可能会遇到共享库加载问题 这可能导致程序无法正常运行 问题描述 假设您正在开发一个程序 并在其中使用了libevent库 您编译程序后尝试运行它
  • Java 入门基础篇03-win11手把手教学配置Java环境变量

    一 如何配置Java环境变量 1 本人操作系统win11 找到 此电脑 右键鼠标点击 属性 后 如图1 图1 2 根据提示完成 如图2 图2 3 最后一步 如图3 图3 注意 当以上操作都完成时 需逐个点击确定保存编辑操作 最后进行测试是否
  • 区块链搭建联盟链及控制台安装

    一 联盟链 1 安装依赖 macos 环境安装依赖 brew install openssl curl ubuntu 环境安装依赖 sudo apt install y openssl curl centos 环境安装依赖 sudo yum
  • 【第三周】第 1 节:Python的逻辑控制与异常

    第三周 第一节课 Python的逻辑控制语句 条件判断语句 if elif else a 50 if a gt 100 print a 超过阈值 elif a 50 print a 只有阈值的一半 else print a 小于阈值 循环语
  • DevOps 与 CICD 详解

    DevOps DevOps 是 Development 开发 和 Operations 运维 的组合 是一种方法论 是一组过程 方法与系统的统称 用于促进应用开发 应用运维和质量保障 QA 部门之间的沟通 协作与整合 以期打破传统开发和运营
  • 华为机试OD真题 组成最大数 解题思路详解

    前言 华为机试真题 专栏为华为OD机试真题 源码包含多种语言 如果找不到想要的考题 或者需要最新考题的答案 请进行留言机试题目 注 留言考题请注明机试的时间 java版 javascript版和Python版三种实现方式 题目描述 小组中每
  • CCF-CSP 第一题python实现

    文章目录 201312 1 出现次数最多的数 201403 1 相反数 201409 1 相邻数对 201412 1 门禁系统 201503 1 图像旋转 201509 1 数列分段 201512 1 数位之和 201604 1 折点计数
  • 2022最新整理iOS app上架app详细教程

    2022最新整理iOS app上架app详细教程 上架iOS需要一个付费688的开发者账号 还没有的话申请一个或者借用 申请苹果开发者账号教程 上架App Store之前是先安装到苹果手机测试调试好 app能正常运行再上架 iOS真机调试测
  • flink随笔

    1 map 或者source时继承对应的rich function 在其中的open方法中建立连接 对应的close方法中关闭连接 2 window必须对应keyedstream 也就是说必须在keyby之后 之后在对应相应的增量函数比如R
  • Netty的心跳机制

    文章目录 一 引入 二 工作原理 三 实现 四 源码剖析 五 总结 一 引入 在 TCP 保持长连接的过程中 可能会出现断网等网络异常出现 异常发生的时候 client 与 server 之间如果没有交互的话 它们是无法发现对方已经掉线 二
  • For input string: 1 异常处理

    当使用Integer value 1 的时候却发现抛出了一个NumberFormatException异常 提示信息是For input string 1 百思不得其解 后来打断点调试发现 1 这个字符串中居然有两个char字符 第一个为
  • c语言实现读取csv文件,并对数据进行分析。

    总代码 c在这里插入代码片 include
  • 深度度量学习(DML)中pair-based方法中的loss

    文章目录 前言 一 Constrative loss 1 二 Triplet loss 2 Offline and online triplet mining 参考 三 Lifted Structure Loss 四 N pairs los
  • CUSUM算法学习+小实例

    说明 本文为个人搜集理解 并非全面 CUSUM Cumulative Sum Control Chart 累积和 一种先进的统计方法 她利用当前的和最近的过程数据来检验过程均值中不大的变化或变异性 CUSUM代表偏离目标值得变差的 累积和
  • Flutter学习之旅(二)常用的Flutter的基础组件介绍

    前言 为了能更快的创建一个好看的应用 Flutter提供了一系列的组件 有基础组件 Basics Widgets 质感组件 Material Components 等 本篇将介绍常用的基础组件 目录 看到上面的目录 从事Android开发的
  • 看完这篇 教你玩转渗透测试靶机Vulnhub——DriftingBlues-5

    Vulnhub靶机DriftingBlues 5渗透测试详解 Vulnhub靶机介绍 Vulnhub靶机下载 Vulnhub靶机漏洞详解 信息收集 暴力破解 ssh登入 KDBX文件密码爆破 定时提权 获取flag Vulnhub靶机渗透总
  • 设计模式之生成器模式

    将一个复杂对象的创建和它的表示分离 使得同样的创建过程可以有不同的表示 应用场景 一水杯工厂要生产各式各样的水杯 无论杯子是神马造型 但都包括绳子 帽子和杯体 以此模型创建各种类型的杯子 类图 cup类 public class Cup p