极客班C++设计模式第一周课程笔记——常用模式(1)
来源:互联网 发布:天猫淘宝怎么开店步骤 编辑:程序博客网 时间:2024/05/16 06:39
并不是提出一个问题就能一下子找对合适的设计模式,通常是在重构中获得模式。 寻找变化点 —> 在变化点处应用设计模式。
- ①模板方法 Template Method
- 模式定义:定义一个操作中算法的骨架(稳定),将一些步骤(变化)延迟到子类中。使得一个子类可以不改变一个算法的整体结构而重写该算法内部的一些步骤。
非常常用的一种手法,将小的具体的实现过程模块化。
具体实现中,被调用的虚方法可以具有实现也可以没有具体的实现(纯虚),一般推荐设置为protected方法。 - ②策略模式 Strategy
- 将对象与算法解耦。
定义:定义一系列算法,将他们一个个封装起来,并且使他们可以互相替换(变化),该方法使得算法可独立于使用它们的客户程序(稳定)而变化。 - ③观察者模式 Observer
- 解耦“通知依赖关系”
定义:定义对象间一种一对多(变化)的依赖关系,使得当一个对象(Subject)的状态变化时,所有依赖他的对象都得到通知,并自动更新。
目标发送通知时,不需要指定观察者,通知(可以携带通知信息作为参数)会自动传播。观察者自己决定是否需要订阅通知,目标对象一无所知。
0 0
- 极客班C++设计模式第一周课程笔记——常用模式(1)
- 【博览网】设计模式——第一周课程笔记
- 极客班C++设计模式第二周课程笔记——常用模式(2)
- 极客班C++设计模式第二周课程笔记——常用模式(3)
- 极客班C++设计模式第一周课堂笔记——设计原则
- 极客班C++(上)第一周课程笔记
- GeekBand C++ 设计模式 第一周笔记
- Boolan C++设计模式 第一周笔记
- GeekBand笔记-《C++设计模式》第一周
- Boolan 设计模式 第一周
- Geekband 设计模式 第一周笔记 暗影行者
- 【博览网】设计模式——第二周课程笔记
- 《Objective-C编程之道:iOS设计模式解析》学习笔记——第1章
- 吴恩达机器学习课程笔记——第一周
- C++标准库——第一周课程笔记
- 【博览网】面向对象高级编程(上)——第一周课程笔记
- 【GeekBand】第一周课程笔记
- 常用设计模式(三)——工厂设计模式
- java4_第一章_对象导论
- spark学习笔记3 spark应用程序之间的调度
- lintcode 给出两个整数a和b, 求他们的和, 但不能使用 + 等数学运算符。
- 夜间模式切换的实现库,只需三行代码实现流畅切换
- 欢迎使用CSDN-markdown编辑器
- 极客班C++设计模式第一周课程笔记——常用模式(1)
- NanoApe Loves Sequence Ⅱ(尺取法)
- mysql5.6 数据库的安装
- Android Context 上下文 你必须知道的一切
- linux c==读书笔记第10章shell编程(1)
- hdu5877 Weak Pair(离散化+树状数组+dfs)
- AT Channel
- Windows小技巧 - 修改软件默认安装目录
- web前端一些面试题1