加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
    • 1 - 什么是装饰器模式?
    • 2 – 什么情况下要用装饰器模式?
    • 3 – 如何使用装饰器模式?
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

嵌入式 C 语言设计模式 --- 装饰器模式

2023/02/17
2903
阅读需 3 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

1 - 什么是装饰器模式?

装饰器模式(Decorator Pattern),是结构型设计模式的一种,装饰器模式允许向一个现有的对象添加新的功能,而又不改变其对象结构,这种方式比使用子类继承的方式更加灵活。

装饰,顾名思义,就是在原有事物的基础上,锦上添花地新增某些点缀或功能,但事物原有的功能依旧继续保留。

通俗来说,就是有一位女生,她在素颜的时候已经很美很漂亮了,但她为了更美,选择了利用化妆技术,让自己的美貌达到惊为天人的效果。“化妆”这一个过程,就是一个装饰的过程。

装饰器模式的优势就是,不用在原有功能的基础上进行修改,只需要对原有功能进行一次封装操作,就可以达到新增其他功能的目的。

2 – 什么情况下要用装饰器模式?

在嵌入式C语言软件设计的时候,当我们在进行某一种操作之前,需要在原有操作的基础上,再进行多一步操作,这种情况下,就需要用到装饰器模式。

有很多设计场景可以使用装饰器模式。

比如,我们在进行数据传输的时候,需要根据通信协议对数据进行封装,那么,通信协议相关的函数就是一个装饰器。

再比如,我们在配置MCU某些设备参数的时候,需要在配置前把参数保留到存储器,这个“保留到存储器”的相关函数,就是一个装饰器。

再比如,我们在使用系统提供的信息打印函数时,需要提前把日期和时间都打印出来,这个提前打印出日期和时间,就是一个装饰器。

3 – 如何使用装饰器模式?

举一个嵌入式软件比较常见的设计场景,串口参数配置。在以往的设计中,我们通常会调用一个函数,对MCU串口的通信参数(比如波特率,校验位,停止位,数据位,等等)进行配置。

现在,我们在这个配置动作的基础上,增加一个参数保存的动作,但又不想改变原来的配置函数,接下来,看一下具体的实现过程。

1、先构建一个串口设备相关类,这个类包含了一些串口的基本通信参数,以及提供了一个配置串口参数的方法,具体的代码实现如下图所示。

未完

 

查看全部内容点击:https://mp.weixin.qq.com/s/1DJO6Vi4QVtHnoQpt1EjAQ

 

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
HFBR-2412TZ 1 Foxconn Receiver, ST Connector, Through Hole Mount, ROHS COMPLIANT, PLASTIC, 8 PIN
$41.26 查看
MT41K256M16TW-107IT:P 1 Micron Technology Inc DDR DRAM, 256MX16, 20ns, CMOS, PBGA96, FBGA-96

ECAD模型

下载ECAD模型
暂无数据 查看
LTC2875IS8#TRPBF 1 Linear Technology LTC2875 - ±60V Fault Protected 3.3V or 5V 25kV ESD High Speed CAN Transceiver; Package: SO; Pins: 8; Temperature Range: -40°C to 85°C
暂无数据 查看

相关推荐

电子产业图谱