人工精选5.5.C++版设计模式之行为型模式
这门课值不值得学:先看你的工作场景 很多写 C++ 的人对设计模式的印象是“面试背一背、干活用不上”。真到了要改老代码、加新功能时,往往是在一个几千行的函数里硬塞 if-else,最后改一个分支牵连一片。这门讲行为型模式的课,解决的就是这类问题:对象之间怎么通信、状态怎么切换、请求怎么层层传递、操作
会员 · 按档位
游客按标价购买,不享受上表折扣。
支付成功后自动发放网盘链接,链接失效可找客服免费补
这门课值不值得学:先看你的工作场景
很多写 C++ 的人对设计模式的印象是“面试背一背、干活用不上”。真到了要改老代码、加新功能时,往往是在一个几千行的函数里硬塞 if-else,最后改一个分支牵连一片。这门讲行为型模式的课,解决的就是这类问题:对象之间怎么通信、状态怎么切换、请求怎么层层传递、操作怎么撤销重做。它不讲创建对象和类结构怎么搭,只讲“行为”怎么组织。如果你平时主要写纯算法或一次性脚本,那这些模式确实用不上;如果你在维护有一定生命周期的工程,要处理状态机、事件回调、多步操作回滚,那这套课能帮你在动手前把骨架理顺,少留坑。
适合什么基础,建议先看哪几块
看这门前,你得有基本的 C++ 面向对象功底,知道虚函数怎么用、智能指针怎么管生命周期,看过一点 STL 源码更好。完全没写过类的会听得很吃力。资料按十几个模式逐个展开,我不建议从头顺读。先挑你工作里最痛的两块看:一是状态模式,如果你手头有那种“根据十几个标志位走不同分支”的烂代码,看完这两节直接照着重构,体会最直接;二是观察者模式,做界面或事件系统的常遇到,重点看信号怎么注册、生命周期怎么防悬空。命令模式也建议早点看,它讲的是怎么把动作封装成对象,对实现撤销重做很有启发。剩下的责任链、访问者、迭代器等,可以等问题撞上来再回头查,当手册用。
学完能独立做什么,资料怎么配合练习
学完的标准不是能默写 UML 图,而是遇到具体需求能选对模式。比如给你一个订单流程,要加多级审核,你能想到用责任链而不是一坨嵌套 if;给你一个文档编辑器,要实现存盘和回退,你能用备忘录加命令把状态存取和操作撤销分开搭。每个模式对应的讲解资料,都建议按“先看概念引入、再敲一遍示例代码、最后改自己项目”的顺序走。看概念时别死记类名,重点想它为了解什么耦合;敲代码时不要光跑通,试着删掉某个模式,看代码会退化成什么样,你就知道它挡住了什么麻烦。这样过完几个模式,下次写新模块时,脑子里自然会多出几套备选结构,而不是只能写出流水账。
本课程目标是掌握11中行为型模型的C++实现
课程目录
* 01 5.5.1.模板模式TemplatePatterns
* 02 5.5.2.策略模式StrategyPatterns
* 03 5.5.3.状态模式StatePatterns1
* 04 5.5.4.状态模式StatePatterns2
* 05 5.5.5.观察者模式ObserverPatterns
* 06 5.5.6.备忘录模式MementoPatterns
* 07 5.5.7.中介者模式MediatorPatterns
* 08 5.5.8.命令模式CommandPatterns
* 09 5.5.9.访问者模式VisitorPatterns
* 10 5.5.10.责任链模式ResponsibilityPatt
* 11 5.5.11.迭代器模式IteratorPatterns
* 12 5.5.12.解释器模式InterpreterPattern





