C语言设计模式精解:架构设计的艺术
文章平均质量分 84
设计模式是软件开发中经过实践验证的最佳解决方案,它们提供了一套成熟的软件设计经验和智慧结晶。本专栏将深入浅出地介绍各种设计模式,帮助开发者构建更加优雅、可维护的软件系统。
clear code
一路向前,莫问前程,前途似锦
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C语言实现设计模式—总结
记录自己对设计模式的理解和使用。原创 2020-08-19 18:04:05 · 2635 阅读 · 0 评论
-
C语言实现设计模式-策略模式+命令模式组合使用
文章目录使用环境介绍使用策略模式使用命令模式使用环境介绍当主设备和从设备使用串口信息交互通讯,根据串口协议,实现对从设备的控制访问。使用情况1:当主设备发送板卡信息获取、读取数据命令时,希望获取从设备的数据信息,从设备应答操作。使用情况2:当主设备发送采集命令时,从设备收到但不进行回复,不应答操作。使用策略模式首先识别命令,对需要进行应答的命令进行判断,区分动作使用命令模式...原创 2020-08-02 11:19:50 · 3345 阅读 · 0 评论
-
C语言-查表法详解与实践
查表法是一种将复杂的条件判断转换为表驱动的编程技术,通过建立映射表来替代繁琐的if-else或switch-case语句。fill:#333;color:#333;color:#333;fill:none;查表法表结构定义查找算法数组映射结构体映射顺序查找索引查找查表法是一种简单而有效的编程技术,通过合理使用可以显著提升代码质量和运行效率。原创 2025-04-03 13:52:30 · 2564 阅读 · 0 评论 -
设计模式的六大原则
单一职责原则:一个类只做一件事开闭原则:对扩展开放,对修改关闭里氏替换原则:子类可以替换父类接口隔离原则:接口要小而专一依赖倒置原则:依赖抽象而不是具体迪米特法则:降低对象之间的耦合这六大原则是设计模式的基础,遵循这些原则可以帮助我们写出更好的代码。它们不是硬性规定,而是指导原则,需要根据实际情况灵活运用。原创 2025-03-23 20:02:27 · 496 阅读 · 0 评论 -
C语言-发布订阅模式详解与实践
发布订阅模式定义了一种一对多的依赖关系,让多个订阅者对象同时监听某一个主题。这个主题在状态发生变化时,会通知所有依赖于它的订阅者对象,使它们能够自动更新。发布订阅模式通过解耦发布者和订阅者,实现了灵活的消息通知机制。这种模式特别适合处理事件驱动的场景。原创 2025-03-23 19:55:06 · 1999 阅读 · 0 评论 -
C语言-MVC模式详解与实践 - 温度监控系统
MVC模式将应用程序分为三个核心部分:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于实现关注点分离,使得程序更容易维护和扩展。MVC模式通过分离关注点,使得温度监控系统的代码结构更加清晰,便于维护和扩展。这种模式特别适合处理数据、显示和用户交互的系统。原创 2025-03-23 19:33:03 · 1723 阅读 · 0 评论 -
C语言-装饰器模式详解与实践 - LED控制系统
装饰器模式允许我们动态地向对象添加新的功能,而不改变其原有结构。在LED控制系统中,我们可以通过装饰器模式实现不同的LED效果叠加。装饰器模式在LED控制系统中的应用,使得我们可以灵活地组合不同的LED效果,同时保持代码的清晰和可维护性。这种模式特别适合需要动态组合多种LED效果的场景。原创 2025-03-23 19:24:02 · 1837 阅读 · 0 评论 -
C语言-状态模式详解与实践 - OTA升级状态机
在OTA升级过程中,设备会经历多个不同的状态(如空闲、下载、校验、升级等),每个状态下的行为和响应都不同。状态模式可以帮助我们清晰地管理这些状态转换和相应的行为。通过状态模式,我们实现了一个清晰、可维护的OTA升级状态机。这种设计方式使得复杂的升级流程变得条理分明,同时也便于后续功能扩展。原创 2025-03-23 19:11:03 · 2395 阅读 · 0 评论 -
C语言-访问者模式详解与实践
这个例子展示了访问者模式在嵌入式系统中的实际应用。通过将传感器数据采集和处理逻辑分离,我们可以灵活地添加新的数据处理方法,同时保持代码的清晰和可维护性。原创 2025-03-23 18:59:58 · 2397 阅读 · 0 评论 -
C语言-适配器模式详解与实践
适配器模式是一种结构型设计模式,它允许将一个类的接口转换成客户端所期望的另一个接口。适配器让原本由于接口不兼容而不能一起工作的类可以协同工作。适配器模式通过转换接口,使得原本不兼容的系统能够协同工作。这种模式特别适合系统升级或整合第三方库的场景。原创 2025-03-23 18:52:16 · 1276 阅读 · 0 评论 -
C语言- 工厂模式详解与实践
工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,而是通过一个共同的接口来指向新创建的对象。工厂模式通过封装对象的创建过程,提供了一种灵活且可扩展的对象创建机制。这种模式特别适合处理需要创建多种类型对象的场景。原创 2025-03-23 18:43:13 · 2236 阅读 · 0 评论 -
C语言-桥接模式详解与实践
桥接模式是一种结构型设计模式,它将抽象部分与其实现部分分离,使它们都可以独立地变化。这种模式通过组合的方式建立两个类之间的关系,而不是继承。桥接模式通过将抽象和实现分离,实现了它们的独立变化。这种模式特别适合处理跨平台或需要支持多种实现的场景。原创 2025-03-23 18:48:28 · 1085 阅读 · 0 评论 -
【设计模式项目实战】串口协议总线管理模型实现
文章目录功能模型的需求设计思路-UML模型关系图判断方法-是否触发,是否执行功能实现-模块介绍数据类型串口总线对象和接口模块设计串口协议对象和接口设计接口方法添加-数据驱动编程对外提供输出接口总结功能模型的需求设计一款支持多个串口协议模型管理,方便业务的扩展,尽可能的使得模块可以“高内聚低耦合”。设计思路-UML模型关系图将每一个协议的数据方法统一管理起来,采用“模糊对象”判断,即不对具体的协议判断进行判断,将协议对象抽象出来进行管理。判断方法-是否触发,是否执行第一步:检查是哪种协议触发,满原创 2021-12-18 23:46:23 · 2695 阅读 · 0 评论 -
C语言-观察者模式详解与实践
文章目录C语言实现设计模式—观察者模式观察者模式介绍UML用例说明C语言实现定义触发更新函数接口采集线程等待触发标志更新波形存储标志等待更新C语言实现设计模式—观察者模式观察者模式介绍它就像系统里面某个子模块的跑腿,一旦该子模块发生变化,它就要为这个子模块通知其他的子模块。观察者模式定义:定义对象之间多对一的依赖关系,保证当被依赖的对象发生变化时,所有的依赖者会被自动更新。当一个对象需要通知另外一些对象,而你无法预知哪些对象将被通知时,通过观察者模式,克制减少对象的偶合关系。优点: 1、观原创 2020-08-26 15:17:47 · 3661 阅读 · 1 评论 -
C语言-责任链模式详解与实践
文章目录C语言设计模式-实现责任链模式(事件触发机制)模式介绍UML用例说明模式实现责任链节点定义初始化处理函数注册函数事件推送责任链处理函数调用流程C语言设计模式-实现责任链模式(事件触发机制)模式介绍使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。职责链上的事件处理者负责处理请求,客户只需要将请求发送到职责链上即可,无须关心请求的处理细节和请求的传递,所以职责链将事件请求的发送者和请求的处理者解耦了。原创 2020-08-15 16:14:51 · 3897 阅读 · 5 评论 -
C语言-模板方法模式详解与实践
介绍模板方法模式是基于继承的代码复用基本技术,可以将相同的代码放在父类中,而将不同的方法实现放在不同的子类中。在模板方法模式中,准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来让子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。模板方法模式体现了面向对象的诸多重要思想,是一种使用频率较高的模式。比方说,现在我们...原创 2019-11-12 20:45:45 · 1715 阅读 · 0 评论 -
C语言-策略模式详解与实践
文章目录介绍抽象实现代码模块介绍在某些情况下,一个客户不想或者不能直接引用一个对象,此时可以通过一个称之为“代理”的第三者来实现间接引用。代理对象可以在客户端和目标对象之间起到中介的作用,并且可以通过代理对象去掉客户不能看到的内容和服务或者添加客户需要的额外服务。抽象硬件代理模式使用结构体封装硬件设备,硬件有可能是内存、传感器设备、IO设备等,但无论什么样的设备,硬件代理的作用就是隐...原创 2019-11-12 20:42:46 · 2924 阅读 · 1 评论 -
C语言-命令模式详解与实践
文章目录参考C语言设计模式——命令模式传统的实现方式如下:(伪代码)参考原文链接:https://blog.youkuaiyun.com/wqx521/article/details/93589663C语言设计模式——命令模式好处:让代码清晰明了,容易添加和删除,易维护。哪些地方会用到命令模式?(列出几个常见的例子)1、按键处理,每个按键按下得到一个索引(指的就是命令),一个按键对应一个处理函数。...原创 2019-09-28 21:48:16 · 5712 阅读 · 0 评论 -
C语言-单例模式详解与实践
文章目录单件模式(Singleton)代码单件模式(Singleton)Singleton就是确保一个类只有唯一的一个实例。Singleton主要用于对象的创建,这意味着,如果某个类采用了Singleton模式,则在这个类被创建后,它将有且仅有一个实例可供访问。代码typedef struct rz_selfcheck_t rz_selfcheck_t;CLASS(rz_selfche...原创 2019-09-07 11:27:14 · 3488 阅读 · 0 评论
分享