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

《大话设计模式》解读09-建造者模式

上篇文章,介绍了《大话设计模式》的第12章——外观模式。

本篇,来介绍《大话设计模式》的第13章——建造者模式。并通过python代码实现示例代码的功能。

1 建造者模式

建造者模式(Builder):将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

建造者模式的类图如下:

  • Builder:抽象建造类,定义建造一个产品所需要必要部件。
  • ConcreateBuilder:具体建造类,继承于抽象建造类,对抽象建造类中定义的接口进行实现,以实现个性化特征的产品构建。
  • Product:具体产品,具体建造类依赖于具体产品,即建造要根据产品功能来进行建造。
  • Director:指挥者类,控制建造的过程,确保建造过程中必要部件都执行了建造。

2 实例

背景:书中小故事,小菜和大鸟去饭店吃饭,分别点的炒面和炒饭,小菜的炒面吃着还不错,大鸟的炒饭味道不够,蛋也少。大鸟尝了一下炒面,味道不错,就又要了份炒面,结果,这炒面没放盐。。。回去的路上,大鸟感慨,肯德基、麦当劳能在中国发展的很好,大概是因为其制作过程规范严格,而中国的小吃,比如“鱼香肉丝”,不同的店可以吃出各种不同的口味。

启发:小吃店吃的味道怎么样,依赖于厨师。联想依赖倒转原则:抽象不应该依赖细节,细节应该依赖于抽象,由于吃的饭菜要依赖于厨师这样的细节,饭客就很被动。而像KFC那样,制作流程进行抽象,具体放什么配料、烤多长时间等细节依赖于这个抽象。

题目:根据流程的抽象原理,用代码的形式来实现用程序画不同体型的小人。


http://www.kler.cn/a/465122.html

相关文章:

  • 「Java 数据结构全面解读」:从基础到进阶的实战指南
  • 鸿蒙HarmonyOS开发:基于Swiper组件和自定义指示器实现多图片进度条轮播功能
  • 基于python的随机迷宫游戏
  • element-ui的rules中正则表达式
  • 微服务三大配件深度解析、实现
  • 深圳南柯电子|净水器EMC测试整改:确保水质安全的电磁防护
  • 探索Milvus数据库:新手入门指南(tencent云)
  • 大带宽服务器和普通服务器相比较的优势
  • 局域网中单台交换机VLAN应用
  • rsync中远端文件的校验和存储缓存的黑科技
  • Docker--Docker Image(镜像)
  • Visual Point Cloud Forecasting enables Scalable Autonomous Driving——点云论文阅读(12)
  • STM32的LED点亮教程:使用HAL库与Proteus仿真
  • RT-Thread中堆和栈怎么跟单片机内存相联系
  • XIAO Esp32S3 播放网络Mp3
  • ELK日志收集系统部署
  • C与语言GDB调试
  • ubuntu 常见问题(持续记录)
  • BLDC无感控制的驱动逻辑
  • [网络安全]数据安全领域关键技术总结