23种C++设计模式应用场景
夏曹俊C++设计模式理论与实战大全——23种C++设计模式应用场景
设计模式是一套系统的程序设计思维和方法,和算法一样,设计程序的思维也是永远不会过时的,是每个程序员都要掌握的基础技能。当你熟练掌握了设计模式,会发现很多事情处理起来变得轻松很多,很多难题迎刃而解,晋升也变得更加轻松。
设计模式 | 应用场景 | 设计模式 | 应用场景 |
---|---|---|---|
单例模式(Singleton) | 线程安全问题、对象释放问题 | 迭代器模式(Iterator) | 轻松表示组织架构 |
原型模(Prototype) | 对象的拷贝 | 建造者模式(Builder) | 帮你从多属性"风暴"中解脱出来 |
工厂模式(FactoryMethod) 抽象工厂模式(AbstractFactory) | 从if-else"风暴"中解救你 | 适配器模式(Adapter) | 将不兼容的接口转换为可兼容的接口,让原本由于接口不兼容而不能一起工作的类可以一起工作 |
代理模式(Proxy) | 优化接口性能 | 桥接模式(Bridge) | 对接其他人开发的模块,组合关系代替继承关系来实现 |
装饰模式(Decorator) | 轻松应对功能的扩展 | 外观模式(Facade) | 简化接入流程 |
观察者模式(Observer) | 监听消息 | 状态模式(State) | 审核发布上线 |
享元模式(Flyweight) | 复用对象,节省内存 | 中介者模式(Mediator) | 买房赚差价 |
组合模式(Composite) | 处理树形结构数据,做一个架构图 | 访问者模式(Visitor) | 不同视角信息的访问 |
模板方法模式(Template Method) | 可以让子类在不改变算法整体结构的情况下,重新定义算法中的某些步骤 | 备忘录模式(Memento) | 配置文件回滚 |
策略模式(Strategy) | 解耦策略的定义、创建和使用,控制代码的复杂度,从而帮老板省钱 | 解释器模式(Interpreter) | 音乐解释器,将语法规则拆分一些小的独立的单元,然后对每个单元进行解析,最终合并为对整个语法规则的解析 |
命令模式(Command) | 将函数封装成对象,这样就可以实现把函数像对象一样使用 | ||
职责链模式(Chain of Responsibility) | 审批请假流程 |