自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 设计模式扩展:简单工厂+配置文件实现(下)

设计模式扩展:简单工厂+配置文件实现(下)

2024-10-06 16:42:38 229

原创 设计模式扩展:简单工厂+配置文件实现(上)

设计模式扩展:简单工厂+配置文件实现(上)

2024-10-06 14:41:37 100

原创 嵌入式设计模式:使用适配器模式实现跨平台坦克游戏

通过使用适配器模式,我们可以为不同的平台(手机、PC、iPad)提供统一的接口,并且在这些平台上同一型号的坦克实现相同的功能,同时实现了每个型号的坦克(如T50、T65、T80)各自不同的功能。4. **使用适配器模式**:创建适配器类,根据不同的平台实例化具体实现类,并通过通用接口调用具体功能。2. **实现具体平台类**:为每个平台(手机、PC、iPad)创建具体实现类,实现通用接口。3. **实现具体坦克型号类**:为每个坦克型号创建具体实现类,实现各自的功能。#### 1. 定义通用平台接口。

2024-06-16 13:47:01 282 3

原创 使用适配器设计模式改进C语言播放器代码

在软件开发中,我们常常会遇到这样的问题:现有的代码无法直接使用在新的应用场景中。- **依赖倒置原则(DIP)**:高级模块依赖于抽象,`ExtendMediaPlayer`依赖于`MediaPlayer`接口和`AdvanceMediaPlayer`接口,而不是具体的实现。- **开放/封闭原则(OCP)**:每当我们需要支持新的文件格式时,我们都需要修改现有的代码,违反了开放/封闭原则。- **开放/封闭原则(OCP)**:系统在扩展时可以通过增加新的播放器类来支持新的格式,而不需要修改现有的代码。

2024-06-15 21:38:08 232 1

原创 观察者模式在C语言中的应用

在软件开发中,设计模式是一种被广泛接受的、经过反复测试的、用于解决在特定环境下经常出现的特定问题的解决方案。观察者模式是其中的一种,它定义了对象之间的依赖关系,使得当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并被自动更新。在本文中,我们将探讨观察者模式在C语言中的应用。我们将首先介绍如何在不使用观察者模式的情况下解决问题,然后介绍如何使用观察者模式来改进我们的解决方案。我们还将讨论使用观察者模式的优点。

2024-01-15 21:00:14 532 1

原创 C语言查找表(lookup table)的威力

查找表,顾名思义,就是用来查找信息的表。在C语言中,查找表通常是一个数组或者结构体数组,用于存储预先计算好的数据,以便快速查找。查找表的主要思想是“空间换时间”,即使用更多的内存空间来存储数据,以减少计算时间。

2023-12-11 22:39:48 2630 1

原创 探索注册机制:理解、应用与案例分析

注册机制是一种编程技巧,它允许我们在运行时动态地添加或修改程序的行为。在注册机制中,我们通常有一个注册表,用于存储一组函数或对象,这些函数或对象可以在运行时被调用或实例化。注册机制提供了一种灵活的方式来管理和解耦代码,使代码更加模块化和易于管理。

2023-12-10 18:59:53 412 2

原创 C语言空闲列表:何时使用、为什么用

空闲列表是一种数据结构,用于管理一组预先分配的对象。当我们需要一个新的对象时,我们可以从空闲列表中取出一个对象,而不需要调用内存分配函数。当我们不再需要一个对象时,我们可以将它加入到空闲列表中,而不需要调用内存释放函数。

2023-12-09 22:51:52 144

原创 链表:从基础到优化

链表是一种常见的数据结构,它由一系列节点组成,每个节点包含数据和指向下一个节点的指针。在这篇文章中,我们将探讨链表的三种插入方法:头插法、中间插法和尾插法,并比较它们的优缺点。然后,我们将介绍如何使用空闲指针和检测桩来优化链表的操作。

2023-12-09 14:27:48 94 1

原创 链式调用和Lambda表达式在C语言中的应用

在编程世界中,我们经常会遇到需要执行一系列操作的情况。这些操作可能包括调用多个函数,或者根据不同的条件执行不同的代码块。在这种情况下,我们通常会使用if-else语句或者switch语句来实现。然而,当我们需要处理的条件和操作变得越来越复杂时,这种方式可能会导致代码变得难以理解和维护。为了解决这个问题,一些高级语言引入了链式调用(Method Chaining)和Lambda表达式(Lambda Expressions)这两种强大的编程技术。

2023-12-03 20:17:44 172 1

原创 斐波那契数列的C语言多种实现方法(递归、循环、动态规划、矩阵乘法和公式法)

斐波那契数列是一个非常有趣的数列,它的每一项都是前两项的和,前两项分别为0和1。这个数列的前几项是:0、1、1、2、3、5、8、13、21、34、55、89、144、233、377、610、987、1597、2584、4181、6765。这个数列有许多有趣的性质,例如,两个连续的斐波那契数之比会收敛于黄金比例,约等于1.61803399。在这篇博客中,我们将探讨如何使用C语言实现斐波那契数列,并讨论各种方法的时间复杂度。

2023-12-03 19:12:25 7098 1

基于LoRa的工业采集系统设计与研究1.caj

基于LoRa的工业采集系统设计与研究1.caj

2022-10-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除