23种设计模式

devtools/2025/1/31 4:30:40/

说明:今天学习了几种设计模式,浅浅的记录一下,方便以后查看复习的同时希望也能帮助到有同样需求的同学。

1、建造者模式

 这个模式我之前实习的时候遇到过了,天天build build的当时也不知道啥意思,今天终于弄明白了。按我的理解来就是: 工厂模式就是造一个汽车上的所有的零件,而建造者模式就是把工厂模式造出来的这些零件组装成一个汽车。 

建造模式有四个角色:领导者(Leader)、抽象图纸(Builder)、工人(Woker)、产品(Product)。

图纸里面定义了组装汽车要用到的方法,工人继承抽象图纸实现里面的方法(个性化组装),生产出带有个性化的产品,而领导者可以有一个builde方法(参数是抽象类),决定组装的顺序最终返回产品。注:我们也可以略过领导者,直接自己调用工人的一个个方法,最终组装成一个产品,只不过一个是组装好现成的,一个是得自己一点点组装。

 我去画个图吧(^&^)


http://www.ppmy.cn/devtools/18701.html

相关文章

Linux:使用ssl加密网站为https

Linux:使用ssl加密网站为https 生成对应的数字证书以及密钥 [rootserver100 ~]# openssl req -newkey rsa:2048 -nodes -sha256 -keyout /etc/nginx/certs/timinglee.org.key -x509 -days 365 -out /etc/nginx/certs/timinglee.org.crt......*...................…

nodejs 中间件

一、是什么 Node.js 中的中间件,特别是针对 Web 开发框架(如 Express、Koa、Hapi 等)的中间件,其核心功能是用来对 HTTP 请求生命周期进行拦截、处理和传递的。 中间件这一概念是 Web 开发框架为了实现请求处理流程的模块化、可…

Ansible一键部署zabbix+grafana+agent

目录 IP地址规划ansible安装分开部署安装zabbix-mysql安装zabbix-server安装zabbix-agent安装zabbix-grafana 一键部署自动发现 IP地址规划 名字地址主要安装软件ansible-server192.168.40.137zabbix-server、ansible、zabbix-mysqlzabbix-agent1192.168.40.138zabbix-agentza…

Django杂记之数据查询和文件处理

Hello , 我是小恒不会java。本文内容可能比较杂,主要是一些重点片段,不会涉及真实业务 学过django的读者可以放心阅读,本文约2万字,阅读时间不会很长 在线网址阅读http://django.yunduanjianzhan.cn/index. 数据查询 查询 想要…

算法训练营day24

参考链接代码随想录 (programmercarl.com) 一、回溯算法基础 1.什么是回溯法? 回溯是递归的副产品,只要有递归就会有回溯。 2. 回溯法的效率 因为回溯的本质是穷举,穷举所有可能,然后选出我们想要的答案,如果想让…

【小梦C嘎嘎——启航篇】C++四大类型转换

😎 前言🙌C四大类型转换什么是类型转换C语言中的类型转换为什么C要嫌弃C语言的类型转换?自行搞一套呢?C强制类型转换1、static_cast2、reinterpret_cast3、const_cast4、dynamic_cast为什么要支持向下转呢? RTTI 总结撒…

【Hive】自定义函数从编写到应用的整个流程(以UDF为例)

1. 编写UDF程序 以Java为例,编写一个字符串反转的函数(工程依赖部分略): package com.example;import org.apache.hadoop.hive.ql.exec.UDF; import org.apache.hadoop.hive.ql.exec.Description; import org.apache.hadoop.hiv…

43. UE5 RPG 实现敌人血量显示条

在上一篇文章中,我们实现了火球术伤害功能,在火球击中敌方目标,可以降低敌人20的血量,这个值现在是固定的,后面我们会修改火球的伤害设置。接着,我们也测试了功能是实现的,但是在正常的游玩过程…