设计模式学习笔记

说了一万遍!学习要做笔记!

时间一长,就会忘了,后面再来学,又要从头学起

关键是重难点!!!当初学的时候就是因为攻克难点、寻找重点花费时间

不做笔记每次复习都要浪费时间在重难点上

每一次放弃的对自己的约定,都会蚕食你积攒下来的意志力!!!

1.简单工厂

就一个单独的工厂

2.工厂

和简单工厂的区别就是

会出现多个工厂

3.抽象工厂

为了解决 多个工厂 生产出来的产品 可能会出现 不适配的问题

建造一些大厂。对于一座大厂,它将生产产品线上所有产品,并且这些产品是适配的

客户直接 选择选择一座大厂,由这座大厂生产所有产品

4.单例模式

饿汉 (迫切) (说白了一个全局变量)

cpp 复制代码
static EagerSingleton* instance = new EagerSingleton();

懒汉 (事到临头再new)

cpp 复制代码
static LazySingleton* getInstance() {
	if (instance == null) {
		instance = new LazySingleton();
    }
    return instance;

5.建造者模式

强调按步骤进行

cpp 复制代码
Food food = new FoodBuilder().a().b().c().build();

6.原型模式

关键在 有个克隆接口 ,克隆自身得到一个新对象

门面模式(外观模式)

给出简单的接口,用来隐藏系统的复杂性

责任链模式

请求处理的顺序性

责任传递机制

桥梁模式(说白了就是不同维度 的 各个 值 都可以 相互组合

代码示例中是一个 n种颜色的画笔和m种形状,一个个组合实现的话得有n*m个类

桥梁模式将 画笔和形状的关系进行抽象,

在使用时就 自由搭配画笔和形状 (给具体形状类传一个具体画笔) ,这样就只需要实现n+m 个类

分离抽象和实现

组合模式

说的太好了 可以用来描述 树形结构

就是每一个节点,既可以是一个 单纯的节点 ,也可以是 一棵树

比较经典的 文件夹

装饰模式

示例代码中使用的是 饮料(红茶、绿茶) 和 小料(加芒果、加柠檬,---或者加珍珠哦)

被装饰后的饮料依然还是饮料(即 装饰者的父类 也要 继承 饮料),但是构造时一定要传入一个饮料(不论是装饰过的还是原始的)(只有小料的话就不叫饮料了)

相关推荐
智者知已应修善业41 分钟前
【proteus中lm339电压滞回比较器达到三角波转换成方波】2023-4-13
驱动开发·经验分享·笔记·硬件架构·proteus·硬件工程
551只玄猫1 小时前
新编大学德语1第三版笔记 第5课Essen und Trinken
笔记·学习笔记·德语·外语·德语a1·自学德语·新编大学德语
sayang_shao1 小时前
ARM架构运行模式学习笔记
arm开发·学习·架构
不只会拍照的程序猿2 小时前
《嵌入式AI筑基笔记02:Python数据类型01,从C的“硬核”到Python的“包容”》
人工智能·笔记·python
happymaker06263 小时前
web前端学习日记——DAY04
前端·学习
solicitous4 小时前
遇到一个口头机遇
学习·生活
观书喜夜长6 小时前
大模型应用开发学习-基于 LangChain 框架实现的交互式问答脚本
python·学习
中屹指纹浏览器6 小时前
2026指纹浏览器性能瓶颈分析与优化技巧
经验分享·笔记
FPGA小迷弟6 小时前
FPGA 时序约束基础:从时钟定义到输入输出延迟的完整设置
前端·学习·fpga开发·verilog·fpga
雷工笔记7 小时前
随笔|走!跳楼去!
笔记