设计模式
面向对象设计与经典设计模式
- C++ 组合模式:定义、结构与实现
组合模式(Composite)的 GoF 定义是:将对象组合成树形结构以表示"部分-整体"的层次结构。Composite 使得用户对单个对象和组合对象的使用具有一致性。
- C++ 装饰器模式:定义、结构与实现
装饰器模式(Decorator)的 GoF 定义是:动态地给一个对象添加一些额外的职责。就增加功能而言,装饰器模式比生成子类更为灵活。
- C++ 观察者模式:定义、结构与实现
观察者模式的定义
- C++ 访问者模式:定义、结构与实现
访问者模式的定义
- C++ 桥接模式:定义、结构与实现
桥接模式(Bridge)的 GoF 定义是:将抽象部分与其实现部分分离,使它们可以独立地变化。
- C++ 设计模式实践:策略模式,把"选算法"交给运行时
你有没有写过这样的代码:一个类里根据 type 字段用一长串 if-else 或 switch 选不同算法,排序用快排还是堆排、压缩用 gzip 还是 zip、折扣用满减还是打折、导航用最短路径还是躲避拥堵?每加一种算法,就得在十几个地方各加一个分支?
- C++ 设计模式实践:适配器模式,让不兼容的接口握手言和
你有没有接过这种活:Leader 说"把那个开源库接进来",你一看它的 API,方法名不一样、参数顺序反了、单位还对不上(华氏度 vs 摄氏度),跟项目里现有的接口八竿子打不着。
- C++ 设计模式实践:状态机模式,从 if-else 地狱到优雅的状态封装
你有没有写过这样的代码:一个类里塞了七八个 if 分支判断当前是什么状态,每次新增一个状态,就得在十几个函数里各加一个分支?