设计模式
记录设计模式笔记
JeffyGao
吃完饭再说 0.0
展开
-
设计模式03 - 装饰者模式
引入: 曾今以为继承能解决一切问题。在程序运行时发现,扩展的威力远大于编译时扩展的威力。 装饰者模式: 好处: 一旦知道装饰的技巧,你将能给你的(或别人的)对象一个新的责任,而不需要对底层class的代码做任何改变 p.s. 写代码的时候,尽量少对底层代码做修改。 描述: 装饰者模式动态地将额外责任附加到对象上。 对于扩展功能,装饰者提供子类化之外地弹性替代方案。 设计原则: 类应该对扩展开放,但对修改关闭。 我们的目标是允许类容易扩展以容纳新的行为,而不用修改已有代码。 达成这个目标,有什么好处? 这样的原创 2022-04-30 16:58:52 · 290 阅读 · 1 评论 -
设计模式02 - 观察者模式
02_观察者模式 定义: 观察者模式定义对象之间的 一对多 依赖,这样一来,当一个对象改变状态时, 它得所有依赖者都会收到通知并自动更新。 设计原则: 尽量做到交互得对象之间得松耦合设计。 松耦合设计:允许我们建造能够应对变化的、有弹性的OO系统,因为对象之间的互相依赖降低到最低。 简述: 这个模式可以让你的对象在发生某些事情时保持消息灵通。 出版者(主题, subject) + 订阅者(观察者, observer) = 观察者模式(一对多) p.s. 在“01_设计者模式”中,主题数据变化时,对象不会被通原创 2022-04-29 20:32:41 · 193 阅读 · 0 评论 -
设计模式01 - 策略模式
main.cpp /** * @file main.cpp * @author GaoJune (gaojune_better@q.com) * @version 0.1 * @date 2022-04-28 * @copyright Copyright (c) 2022 * * @brief * 学习《Head First设计模式》中第一节 - “策略模式” * (由于原书全是 java,自己还不是很适应) * 策略模式的定义: * 策略模式顶一个一个算法族,分别封原创 2022-04-29 00:05:47 · 120 阅读 · 0 评论