【读书笔记】大话设计模式
最近读了一本关于设计模式的书《大话设计模式》,该书以叙述故事的形式,讲述了很多的设计模式,让人耳目一新,印象深刻。
- 状态模式
1)定义

2)模式图

3)个人体会:
定义了一个 状态的接口,各种状态就可以实现这个接口,增加状态时,就直接增加子类就行了,不用动别的子类。省去了很多 if else的判断,满足了 ‘开发-闭合’原则
- UML类图

- 适配者模式
1)类图:

2)姚明在 NBA打球,需要翻译的例子
- 备忘录模式
1)就是讲一个 类的状态保存在一个叫备忘录的类中,这样可以在需要的时候恢复这个类的这些状态。
列举的例子是 打游戏保存进度的例子。但是这样会比较耗费内存资源
- 组合模式
1)类图:

2)组合模式,就是 实现 有部分 和 整体的关系时,可以使用,实际的例子就是 分公司和 总公司的关系等 树形结构
6. 迭代器模式
1)就是循环遍历,比如 PHP语言中已经实现了 foreach
7. 单例模式
1)单例模式,保证一个类,只被实例化一次。可以将这个类的构造方法变成是 protect或者是 private类型的,这样防止这个类,在外部通过new被实例化,而是在其内部,提供一个 getInstance的函数,检查实体是否存在,存在直接返回,不存在,在创建。
比如公司常见的 client的实例化,就是 UserClient::getInstance()
8.桥接模式(聚合/合成模式)
1) 模式的定义,少用继承,多用合成

- 命令模式:

- 作者:天行健·自强不息
- 出处:http://www.cnblogs.com/aiweixiao/
- 本文版权归作者和博客园共有,欢迎转载,如需联系 sishuinianhua369#126.com
如果您觉得本文对您的学习有所帮助,可通过微信或者支付宝 来打赏博主,增加博主的写作动力
微信支付 支付宝支付


【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!