随笔分类 -  设计模式

设计模式
摘要:# -*- coding: utf-8 -*- #### 访问者模式: """ - 定义: 1. 封装 一些 作用于 某种数据结构中的各元素操作 2. 可以在不改变原有数据结构的前提下,定义且作用于这些新元素的操作 3. 双分派: 静态派 和 动态派, 取决于 请求者的名称和接收到的参数 - 场景: 阅读全文
posted @ 2023-02-15 10:37 染指未来 阅读(15) 评论(0) 推荐(0) 编辑
摘要:# -*- coding: utf-8 -*- ### 解释器模式: """ - 定义: 1. 给定一种语言,定义语法,定义一个解释器 2. 该解释器来解释语言中的句子 3. 分为:有终结符 和 非终结符 - 场景: 1. 若一个问题重复发生,可以考虑使用解释器模式. 1.1 数据处理和日志处理 使 阅读全文
posted @ 2023-02-15 10:37 染指未来 阅读(12) 评论(0) 推荐(0) 编辑
摘要:# -*- coding: utf-8 -*- ### 观察者模式: """ - 定义: 订阅-发布者模式. 定义在对象间的一对多的依赖. 使得当前对象状态修改时,所有依赖它的对象都会得到通知,并自动更新 - 场景: 1. 消息交换.如:消息队列' 2. 多级触发场景, 如:支持中断模式,一个中断引 阅读全文
posted @ 2023-02-15 10:36 染指未来 阅读(9) 评论(0) 推荐(0) 编辑
摘要:# -*- coding: utf-8 -*- ### 状态模式: """ - 定义: 当一个对象内在状态改变时允许其改变行为,这个对象看起来像改变了其类 - 优点: 1. 状态模式下,结构清晰,相比于 if...else更简洁 2. 封装性好,外部结构不必知道内部细节 3. 应用场景:行为状态改变 阅读全文
posted @ 2023-02-15 10:35 染指未来 阅读(13) 评论(0) 推荐(0) 编辑
摘要:# -*- coding: utf-8 -*- # 备忘录模式应用场景 """ - 定义: 1. 在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外 保存这个状态. 2. 可以恢复原来保存的状态 3. 如果保存的状态过多,可以通过备忘录管理者角色来管理备忘录 - 场景: 撤销场景,事务回 阅读全文
posted @ 2023-02-15 10:35 染指未来 阅读(9) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示