当前位置: 首页 > news >正文

创建型设计模式之建造者模式

文章目录

  • 概述
  • 定义
  • 建造者模式原理
  • 结构图
  • 小结

概述

建造者模式又被称为生成器模式,是一种创建型设计模式。
和之前的单例,工厂一样,同属于创建型设计模式。

定义

建造者模式是将一个复杂对象的构建与表示分离,使得同样的构建过程可以创建不同的表示。
既然这么定义,那么它解决了什么问题呢?
建造者模式可以将部件和其组装过程分开,一步一步创建一个复杂的对象。用户只需要指定复杂对象的类型就可以得到该对象,而无须知道其内部的具体构造细节。

建造者模式原理

建造者模式包含以下四个角色:

  • 抽象建造者类:这个接口规定要实现复杂对象的哪些部分的创建,并不涉及具体的部件对象的创建。
  • 具体建造者类:实现 Builder 接口,完成复杂产品的各个部件的具体创建方法。在构造过程完成后,提供一个方法,返回创建好的负责产品对象。
  • 产品类:要创建的复杂对象 (包含多个组成部件).
  • 指挥者类:调用具体建造者来创建复杂对象的各个部分,在指导者中不涉及具体产品的信息,只负责保证对象各部分完整创建或按某种顺序创建(客户端一般只需要与指挥者进行交互)。

结构图

在这里插入图片描述

小结

建造者模式在现实生活中很常见,像我们的公司内部,基本上都是由一个项目经理担任指挥者,然后有一个项目,抽象出来一个项目,产品整出来一个具体项目细节,然后由不同职位的人担任具体的建造者来实现项目详细的实现。大概吧,就是这么个流程。代码就不写了,有兴趣,可以去学习学习。

http://www.lryc.cn/news/352100.html

相关文章:

  • mainwindow 无菜单栏 可拖动,边界可扩大,动画浮现上边框
  • 机器学习云环境测试
  • 扩散模型自动管道AutoPipeline
  • Map六种遍历方式
  • 集合-1 数组ArrayListLinkedList
  • 42-1 应急响应之账户排查
  • Python3 笔记:sort() 和 sorted() 的区别
  • vue 引入 emoji 表情包
  • mysql 数据库 增量备份
  • SpringBoot之@Builder 注解
  • 云计算的能源消耗如何影响环境?
  • openwrt设置开机自启 tailscale为例
  • 副业树洞聊天项目/树洞倾诉/陪陪系统源码/树洞源码下载搭建
  • UWB论文:Introduction to Impulse Radio UWB Seamless Access Systems(2):脉冲;超宽带;测距;定位
  • Spring MVC/Web
  • C++中获取int最大与最小值(补)
  • 一个开源的工具类轮子是怎么造出来的
  • 零基础学Java第二十二天之迭代器 Iterator
  • 微服务架构-异步消息传递设计模式
  • 基于SSM的大学生兼职管理系统
  • leetcode刷题记录:前缀和
  • TENT: FULLY TEST-TIME ADAPTATION BY ENTROPY MINIMIZATION--论文笔记
  • Java期末复习指南(1):知识点总结+思维导图,考试速成!
  • OpenMV学习笔记1——IDE安装与起步
  • C++设计模式|结构型 适配器模式
  • 视频码流分析工具
  • 记一次重定向问题(浏览器安全)解决
  • 【传知代码】transformer-论文复现
  • 大模型日报|今日必读的 13 篇大模型论文
  • Python 魂斗罗的音效和动漫效果