logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

创建型模式:简单工厂模式(C语言实现)

先抛开复杂的设计模式术语,用大白话解释:简单工厂模式就像一个“对象加工厂”。这个工厂里封装了所有对象的创建逻辑,调用者不需要知道对象是怎么被初始化、配置的,只需要向工厂传递一个“类型参数”(比如“温度传感器”“光照传感器”),工厂就会返回一个符合要求的、可以直接使用的对象。产品(Product):所有需要创建的对象的抽象统一接口。比如所有传感器都需要有“读取数据”“启动采集”的功能,我们就可以定义

文章图片
#简单工厂模式#c语言#开发语言
创建型模式:装饰器模式(C语言实战指南)

include <stdlib.h> // 补充malloc/free所需头文件// 抽象组件:通信模块统一接口(核心功能:发送、接收数据)// 所有具体通信模块和装饰器都需遵循此接口// 发送数据:data-待发送数据缓冲区,len-数据长度;返回0成功,-1失败// 接收数据:buf-接收缓冲区,len-缓冲区最大长度;返回实际接收数据长度。

文章图片
#装饰器模式#c语言#开发语言
为什么C语言也需要设计模式

有人认为小项目用设计模式是小题大做,实则不然:小项目可通过简单模式(如简单工厂、适配器)解决冗余问题;大项目可组合多种模式(如单例+观察者+策略)构建稳定架构,无需过度设计。设计模式的核心是解决实际工程问题,而非堆砌模式数量。C语言开发者无需照搬OOP实现形式,只需理解“解耦、复用、可扩展”核心逻辑,用原生特性落地即可。若本文对你有帮助,欢迎并关注后续更新~ 你在C语言开发中遇到过哪些维护痛点?是

文章图片
#c语言#设计模式#开发语言
常用数字滤波器的特性与适用场景

场景-滤波器”选型总结:①传感器零漂:高通滤波;②脉冲噪声:中值滤波;③随机噪声:移动平均;④工频/特定干扰:陷波滤波;⑤相位敏感场景:FIR滤波;⑥算力有限+高效抑噪:切比雪夫I/II型;⑦通带平坦要求高:巴特沃斯滤波。本文覆盖常用数字滤波器核心原理、特性、工程实现及选型逻辑,形成理论-实战闭环。关注我获取更多嵌入式信号处理干货,实际项目中遇问题欢迎评论区讨论~

文章图片
#c语言#算法
创建型模式:单例模式(C语言实现与实战)

特性饿汉式懒汉式创建时机启动时(main前)首次调用时线程安全天然安全需额外实现(锁/原子)内存占用启动即占,开销大按需占用,省内存实现难度简单复杂(需解决线程安全)适用场景轻量、启动必加载(配置)重量级、按需使用(日志)单例模式是C语言底层开发核心设计模式,解决“资源唯一”与“全局共享”问题,适配嵌入式场景,是日志器、配置管理器的首选方案。后续将更新工厂模式、建造者模式的C语言实现,关注我获取更

文章图片
#单例模式#c语言#开发语言
01_C 语言进阶之避坑指南:从内存对齐到私有成员保护

内存对齐的坑,本质是 “跨 MCU 规则不一致”,解决关键是 “显式控制对齐规则”;私有成员的坑,本质是 “访问权限失控”,解决关键是 “通过接口隔离直接访问”。对嵌入式开发者而言,结构体封装不是 “把数据放进结构体就完事”,而是要做到 “内存大小可控、成员访问可控、跨平台移植可控”—— 这既是 C 语言 OOP 的基础,也是后续设计模式、软件框架搭建的核心前提。避开这些坑,你的代码不仅调试效率翻

文章图片
#c语言
01_C语言数据结构与算法入门:为什么这是程序员的核心竞争力?

很多人觉得“学习数据结构与算法是为了面试”,但其实它的价值远不止于此:提升代码质量:写出的代码更高效、更稳定,能应对更大的数据量和更复杂的场景;增强问题解决能力:遇到复杂问题时,能快速拆解,找到最优的解决方案;拓宽职业发展路径:无论是嵌入式、后端、系统开发,还是人工智能、大数据,数据结构与算法都是核心基础,掌握它们能让你有更多的职业选择;提升核心竞争力:在程序员内卷的时代,扎实的底层功底是“不可替

文章图片
#c语言
01_C语言进阶之面向对象编程:用结构体打造模块化嵌入式代码

/ ADC模块结构体(封装数据和操作函数)// 私有数据:不允许外部直接访问// 采样缓存(电流、电压、温度)// ADC硬件基地址(如TI DSP的ADC1_BASE)// 采样频率(Hz)// 公有接口:通过函数指针暴露操作方法// 初始化// 启动采样// 获取采样值// 父结构体:通用外设(所有外设的基础)// 硬件基地址(通用属性)// 使能状态(通用属性)// 错误码(通用属性)//

#c语言#开发语言
到底了