logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

精读《C++20设计模式》:创造性模式——工厂方法和抽象工厂模式

摘要 本文通过汉堡店的例子,深入讲解了工厂模式和抽象工厂模式的设计原理与实现。首先展示了一个直接创建对象的反例,指出将对象创建逻辑暴露在使用场景中的问题。随后引入静态工厂方法封装创建过程,解耦对象使用与创建逻辑。进一步提出抽象工厂模式,通过工厂注册机制和层级化设计,将具体产品的创建委托给专门子工厂,实现更灵活的对象创建体系。文章详细阐述了工厂模式的核心价值:隐藏派生体系的创建细节,返回基类接口,使

文章图片
#c++20#设计模式#抽象工厂模式 +3
精读C++20设计模式——结构型设计模式:外观模式

本文介绍了外观模式(Facade Pattern)在C++中的应用。外观模式通过提供统一的高层接口,隐藏了复杂子系统的实现细节。作者以多媒体播放器开发为例,展示了如何将网络流、解码器、渲染器等模块封装成MediaPlayerFacade类,使客户端只需调用简单的play()方法。该模式能集中处理错误、资源管理和日志记录,降低了系统耦合度。文章也指出应避免将过多逻辑放入外观类,导致"上帝对

文章图片
#c++20#设计模式#外观模式 +2
勇闯前后端——前端:梭哈原生项目之手搭最简单的电商界面

本文记录了搭建一个简单电商界面的原生HTML/CSS项目过程。首先构建了基本的页面结构,包括顶部header、中间main(侧边栏和商品网格)以及底部footer。然后通过CSS逐步添加样式:使用CSS变量管理主题颜色,设置flex布局实现页面元素排列,添加响应式图片处理等。文章提供了详细的代码示例和样式表设计思路,适合前端初学者练习原生项目开发。最终实现了一个包含商品展示、筛选功能和分页导航的基

文章图片
#前端#开发语言#学习 +2
后端:Week2——基于VSCode + Poetry创建一个FastAPI工程

本文介绍了如何使用Poetry和VS Code快速创建第一个FastAPI项目:首先准备Python 3.10+和Poetry环境;接着创建项目目录并用Poetry init初始化;然后添加fastapi和uvicorn依赖,可选激活虚拟环境;创建包含简单路由的main.py文件;最后用uvicorn启动服务并访问/docs查看自动生成的API文档。文中还提供了WSL环境下的注意事项和相关参考资料

文章图片
#vscode#fastapi#开发语言 +2
操作系统八股文收集 —— 进程和线程八股文

整理了常见的操作系统——线程部分的八股文

文章图片
#开发语言#c++#操作系统 +1
精读《C++20设计模式》——创造型设计模式:原型模式

《C++20设计模式》中的原型模式解析:通过克隆已有对象高效创建新实例。该模式适用于需要频繁创建结构相似但部分属性不同的复杂对象场景,特别是当对象初始化成本高或存在多态继承时。基本实现方式包括直接拷贝、多态clone()方法以及原型注册表管理。关键优势在于避免重复初始化开销,同时保持正确的拷贝语义(特别是深拷贝和资源管理)。文中通过具体代码示例展示了如何实现原型模式,并比较了不同方案的适用场景与优

文章图片
#c++20#设计模式#原型模式
精读 C++20 设计模式:行为型设计模式 — 状态机模式

这篇文章介绍了C++20中的状态机设计模式,主要讨论了两种实现方式:状态模式和基于开关的状态机。 状态机基本概念:由状态集、事件/输入和转换三部分组成,可定义进入/退出动作、守卫条件和并行状态等。 状态模式实现: 将每个状态封装为独立类 通过上下文类(MediaPlayer)管理状态切换 演示了播放器三种状态(停止/播放/暂停)的实现 优点是逻辑局部化、易于扩展,缺点是状态多时类数量增加 设计建议

文章图片
#c++20#设计模式#状态模式 +2
从0开始使用面对对象C语言搭建一个基于OLED的图形显示框架(协议层封装)

​我们先按照最经典的软硬件IIC为例子!笔者大部分接触到的都是4针脚的使用IIC协议通信的OLED片子。所以,笔者打算优先的搭建起来IIC部分的代码。所有完整的代码放到了:MCU_Libs/OLED/library/OLED/Driver at main · Charliechen114514/MCU_Libs (github.com),这个文件夹内部都是协议层的代码。​

文章图片
#驱动开发#c语言#学习 +1
架构八股文:ARM架构三大基本状态和寄存器说明

摘要: ARM架构包含三种基本状态:ARM状态(32位指令高性能)、Thumb状态(16位指令节省空间)和Jazelle状态(已废弃的Java加速状态)。状态间可通过BX指令切换,LSB位决定目标状态。ARMv7-A架构有37个寄存器,包括16个通用寄存器(R0-R15)、CPSR/SPSR状态寄存器及模式私有寄存器。CPSR记录处理器状态,通过T位区分ARM/Thumb状态。不同处理器模式(如F

文章图片
#架构#arm开发#学习 +1
    共 61 条
  • 1
  • 2
  • 3
  • 7
  • 请选择