logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

redis-plus-plus安装与使用

本篇文章是专注于我项目中使用到的客户端redis-plus-plus来进行介绍和简单使用,供大家和本人在日常开发中进行参考。

文章图片
#redis#数据库#缓存
基于C++的《Head First设计模式》笔记——命令模式

本文介绍了命令模式的设计与实现,通过C++重写《Head First设计模式》中的遥控器案例。文章详细展示了如何将厂商类API封装成命令对象,构建支持多设备的遥控器系统。重点包括:1) 命令模式定义与类图;2) 具体命令类的实现;3) 使用lambda表达式简化代码;4) 撤销功能实现;5) 宏命令等扩展应用。该模式将请求封装为对象,实现调用者与接收者的解耦,支持撤销、队列和日志等功能,是行为型设

文章图片
#c++#设计模式
基于C++的《Head First设计模式》笔记——策略模式

本文介绍了《Head First设计模式》中策略模式的学习笔记,通过C++重写Java示例。以鸭子模拟游戏为例,最初使用简单继承导致代码冗余和修改困难,如橡皮鸭错误继承飞行行为。通过识别变化部分(飞行和叫声行为)并将其封装为独立接口(FlyBehavior和QuackBehavior),使用组合代替继承,实现了行为的动态配置。最终定义了策略模式:将算法族封装为可互换对象,使算法变化独立于使用客户。

文章图片
#c++#设计模式
基于C++的《Head First设计模式》笔记——访问者模式

本文介绍了访问者设计模式的实现原理与应用场景。作者通过电脑硬件检测的案例,对比了传统继承多态写法与访问者模式的差异。传统写法将检测逻辑耦合在硬件类中,违反开闭原则;而访问者模式将数据与操作分离,硬件类只负责存储数据,检测逻辑集中在访问者类中。该模式通过双分派机制实现动态绑定,新增功能只需添加访问者而无需修改原有代码,完美符合开闭原则。文章详细分析了访问者模式的优缺点,指出其适合元素类型稳定但需要频

文章图片
#设计模式#c++
基于C++的《Head First设计模式》笔记——外观模式

本文介绍了外观模式及其应用,通过封装Jsoncpp库的序列化和反序列化操作,简化了接口使用。外观模式为子系统提供统一的高级接口,降低系统耦合度。同时阐述了最少知识原则,强调减少对象间不必要的交互,但需权衡其带来的额外包装类成本。最后对比了适配器、装饰者和外观模式的区别:适配器改变接口,装饰者扩展功能,外观简化接口。设计模式的选择应结合实际需求,权衡维护成本与性能影响。

文章图片
#c++#设计模式
基于C++的《Head First设计模式》笔记——责任链模式

本文介绍了责任链设计模式及其应用。责任链模式通过构建对象链来处理请求,每个对象依次检查请求并决定处理或转发。文章以请假审批流程为例,展示了如何用C++实现小组长、部门经理和总经理的三级审批链,说明了该模式解耦请求发送者和接收者、支持动态调整责任链等优点,同时也指出了可能存在的性能开销和循环引用风险。该模式适用于需要多个对象处理请求的场景,如窗体事件处理系统。

文章图片
#设计模式#责任链模式#c++
基于C++的《Head First设计模式》笔记——状态模式

本文介绍了状态模式的设计与实现,通过糖果机案例展示了如何用C++实现该模式。文章首先定义State接口和具体状态类(NoQuarterState、HasQuarterState等),将每个状态的行为封装到独立类中,避免复杂的条件判断。糖果机类(GumballMachine)通过委托给当前状态对象来改变行为,实现了状态转换。文中还比较了状态模式与策略模式的异同,指出状态模式更关注内部状态驱动的行为变

文章图片
#设计模式#c++
基于C++的《Head First设计模式》笔记——适配器模式

本文介绍了适配器设计模式在C++中的实现与应用。作者通过将Java示例转换为C++代码,展示了如何使用适配器模式解决接口不兼容问题。文章首先以生活中的适配器类比,然后通过鸭子与火鸡的接口转换示例详细说明了对象适配器的实现方式,包括将Turkey接口适配为Duck接口的具体代码。此外还介绍了类适配器的多重继承实现方法,并比较了两种适配器的优缺点(组合优于继承)。最后指出适配器模式在STL迭代器等场景

文章图片
#c++#设计模式
基于C++的《Head First设计模式》笔记——单件模式

本文是《Head First设计模式》学习笔记的C++实现版,重点解析单件(单例)模式。文章首先介绍了单件模式的特点:确保类只有一个实例并提供全局访问点,相比全局变量更节省资源。随后详细剖析了C++实现单件模式的两个关键点:类外初始化静态成员和访问私有构造函数。通过代码示例展示了懒汉模式(延迟实例化)和饿汉模式(启动即实例化)的实现方法,包括构造函数私有化、防拷贝构造等技巧。特别讨论了多线程环境下

文章图片
#设计模式#c++
基于C++的《Head First设计模式》笔记——工厂模式

本文基于《Head First设计模式》内容,使用C++重写了工厂模式示例。文章首先指出直接使用new创建对象违反"针对接口编程"原则,导致代码脆弱。通过披萨店案例展示了简单工厂模式,将对象创建封装到工厂类中。接着引入工厂方法模式,将createPizza()作为抽象方法,由子类决定具体实现,实现对象创建的延迟。文章详细对比了两种模式:简单工厂封装创建逻辑但仍是静态的,工厂方法

文章图片
#c++#设计模式
    共 40 条
  • 1
  • 2
  • 3
  • 4
  • 请选择