- 博客(44)
- 收藏
- 关注
原创 设计模式(023)行为型之中介者模式
中介者模式是一种行为型设计模式,用于减少对象之间的直接通信,而是通过一个中介对象来进行间接通信。这种模式有助于减少对象之间的耦合,使得系统更易于维护和扩展。
2024-04-16 23:22:30
770
原创 设计模式(022)行为型之解释器模式
解释器模式是一种行为型设计模式,用于定义一种语言的文法,并且在该语言中解释句子的意义。这种模式通常用于实现编程语言解释器、正则表达式引擎等场景。
2024-04-16 23:02:33
725
原创 设计模式(021)行为型之访问者模式
问者模式是一种行为型设计模式,它可以在不修改现有代码结构的情况下,为复杂的对象结构添加新的操作。该模式将数据结构和数据操作进行分离,使得数据结构可以独立于操作进行变化,同时也可以在不改变操作的前提下增加新的操作。
2024-04-16 22:47:04
593
原创 设计模式(020)行为型之备忘录模式
备忘录模式是一种行为型设计模式,用于在不破坏封装性的前提下捕获一个对象的内部状态,并在该对象之外保存这个状态,以便之后可以将该对象恢复到之前的状态。这种模式通常用于需要记录对象状态历史、撤销操作或实现“回到过去”功能的场景。
2024-04-16 22:25:04
869
原创 设计模式(019)行为型之状态模式
状态模式是一种行为型设计模式,它允许对象在内部状态发生变化时改变它的行为,使得对象在不同状态下有不同的行为表现,而且可以方便地添加新的状态而不必修改已有的代码。
2024-04-16 22:04:37
588
原创 设计模式(018)行为型之策略模式
策略模式是一种行为设计模式,它定义了一系列算法,将每个算法封装成一个对象,并使它们可以互换。策略模式使得算法的变化可以独立于使用算法的客户端。核心思想是将算法的定义与使用分离,使得算法可以独立于客户端进行变化、扩展和替换。
2024-04-10 23:05:56
595
原创 设计模式(017)行为型之责任链模式
责任链模式的核心思想是将请求发送者与接收者解耦,让多个对象都有机会处理请求,从而避免了请求发送者与接收者之间的直接耦合关系
2024-04-10 22:52:01
474
原创 设计模式(016)行为型之命令模式
命令模式的核心思想是将请求的发送者与请求的接收者解耦,通过命令对象将二者进行绑定。这样可以实现对请求的封装、记录、排队和撤销操作等功能
2024-04-10 22:35:40
452
原创 设计模式(015)行为型之模板方法模式
模板方法模式,它定义了一个算法的骨架,将一些步骤延迟到子类中实现。这个模式允许子类重新定义算法的某些步骤,而不改变算法的结构。通常,模板方法由一个抽象类实现,其中包含算法的基本步骤,并且这些步骤可以是抽象的或具体的。子类继承这个抽象类并重写其中的特定方法,从而定制算法的行为。这种模式常用于实现一个通用的算法框架,以便不同的子类可以根据自身需求实现算法的具体步骤。
2024-04-10 22:12:21
432
原创 设计模式(014)行为型之迭代器模式
迭代器模式,用于提供一种方法来顺序访问一个聚合对象中的各个元素,而又不需暴露该对象的内部表示。它将遍历和聚合分离开来,使得可以独立地改变遍历方法而不影响聚合对象。这种模式通常包括一个迭代器接口定义和一个聚合对象接口定义,以及相应的迭代器和聚合对象的实现类。
2024-04-10 21:56:31
327
原创 设计模式(013)行为型之观察者模式
观察者模式是一种常见的软件设计模式,用于实现对象之间的一对多依赖关系。在观察者模式中,一个对象(称为主题或可观察对象)维护一个依赖列表,即一组观察者对象。当主题对象的状态发生变化时,它会自动通知所有观察者,使它们能够自动更新。
2024-04-10 21:36:45
670
原创 汽车整车组成和设计开发流程
汽车整车设计开发/汽车设计开发/整车设计开发整车集成、开发流程、平台化开发、总体设计、总布置设计、造型设计、底盘设计、电子电器设计、车身设计、内外饰设计、热系统设计、尺寸工程、法规设计、整车试制、整车试验验证
2024-03-24 22:55:42
3062
原创 设计模式(012)结构型之代理模式
代理模式是通过创建一个代理对象,来控制对另一个对象的访问。代理对象和被代理对象实现了相同的接口,因此对客户端而言,它们是可以互换的。客户端通过调用代理对象的方法来访问被代理对象,代理对象可以在调用被代理对象之前或之后执行一些额外的操作,比如记录日志、实现缓存等。
2023-05-09 22:28:10
134
原创 设计模式(011)结构型之享元模式
享元模式的主要目的是在不增加内存消耗的前提下,尽可能地减少系统中的对象数量。该模式将对象分为两种类型:内部状态和外部状态。内部状态是可以共享的,它不会随着对象的不同而改变,而外部状态是不可以共享的,它会随着对象的不同而改变。
2023-05-09 16:28:08
119
原创 设计模式(010)结构型之外观模式
外观模式(Facade Pattern)是一种常用的设计模式,它提供了一个简单的接口,隐藏了系统的复杂性,使得外部客户端可以更加方便地使用系统的功能。外观模式属于结构型设计模式,其目的在于通过提供一个高层次的接口来简化复杂系统的使用。
2023-05-09 15:03:34
109
原创 设计模式(009)结构型之装饰器模式
装饰器模式(Decorator Pattern)允许在运行时动态地向对象添加功能,而无需修改其源代码。在该模式中,有一个被装饰的对象(Component),它定义了一些基本的操作。装饰器(Decorator)对象是对这个基本对象的一个包装,可以在不改变其接口的情况下,为其添加新的行为或修改现有的行为。
2023-05-09 11:48:55
81
原创 设计模式(008)结构型之组合模式
组合模式将对象组合成树形结构来表现“整体/部分”的层次结构,并且可以像处理单个对象一样处理整个树形结构。当需求场景是体现部分与整体层次的结构时;或者你希望用户可以忽略组合对象与单个对象的不同,而统一的使用组合结构中的所有对象时,就应该考虑用组合模式了。组合模式包含以下几个角色:定义组合中所有对象的通用接口,可以是抽象类或者接口,包含了一些基本操作方法,如添加子节点、删除子节点、获取子节点等。组合中的叶子节点,表示最基本的单个对象。组合中的容器节点,包含了一组子节点,可以是叶子节点或者其他容器节点。
2023-04-20 20:00:34
73
原创 设计模式(007)结构型之桥接模式
桥接模式将一个抽象与其实现分离,以便两者可以独立地变化。它通过将实现细节委托给一个抽象接口来解耦实现和抽象。这种模式的主要思想是通过将对象的实现细节封装在一个独立的类层次结构中,从而实现对象间的松耦合。
2023-04-20 16:51:17
67
原创 设计模式(006)结构型之适配器模式
适配器模式将一个类的接口转换成客户端所期望的另一个接口,使得原本不兼容的接口能够协同工作。适配器模式主要由三个角色组成:适配器(Adapter)、目标(Target)和被适配者(Adaptee)
2023-04-20 15:47:37
76
原创 从51到ARM裸机开发实验(006)Exynos4412 GPIO实验
本次实验基于Tiny4412开发板,开发板上有四个可编程控制的LED、四个按键。来实现这样一种场景:每个按键控制一盏LED,每按一次则对应的LED状态发生改变,按一次开灯,再按一次关灯。核心控制为三星的Exynos4412芯片。设计Linux虚拟机、芯片启动分析、交叉编译等技术。
2023-04-19 23:53:06
1308
1
原创 设计模式(005)创建型之原型模式
原型模式是在运行时创建一个基于现有对象的克隆。这意味着可以复制一个对象,而无需显式地指定其类。这对于创建相似对象的情况非常有用,尤其是在对象的创建过程比较昂贵或复杂的情况下。
2023-04-16 13:52:38
68
原创 设计模式(004)创建型之建造者模式
建造者模式(BuilderPattern)是一种创建型设计模式,用于将一个复杂对象的构建过程和其表示分离开来,从而使同样的构建过程可以创建不同的表示。Builder模式主要包括Builder,Director,Product三个角色。
2023-04-16 12:54:54
92
原创 设计模式(003)创建型之单例模式
单例模式是一种设计模式,用于确保一个类仅有一个实例,并提供全局访问点。该模式适用于需要全局唯一实例的场景,如数据库连接、日志记录器等。实现单例模式的方法有多种,分为饿汉式和懒汉式。
2023-04-16 10:53:02
81
原创 从51到ARM裸机开发实验(005)LPC2138 GPIO实验
实现这样一种场景:四个按键作为开关、四个LED作为响应,每个开关控制一盏灯,按一次开灯,再按一次关灯。再接入一个蜂鸣和另外两个按键作为音量加和音量减,音量加每按一次蜂鸣器音量增加5%,音量减每按一次音量减少5%。这次将MCU替换成LPC2138芯片,LPC2138是飞利浦公司推出的基于ARM7TDMI-S内核的微控制器,属ARMv4架构。与STM32同属ARM系列,其编程方式也与STM32类似。
2023-04-15 19:12:17
1612
原创 从51到ARM裸机开发实验(004)STM32F401VE GPIO实验
仿照“从51到ARM裸机开发实验(003) AT89C51 GPIO实验”,同样实现这样一种场景:四个按键作为开关、四个LED作为响应,每个开关控制一盏灯,按一次开灯,再按一次关灯。再接入一个蜂鸣和另外两个按键作为音量加和音量减,音量加每按一次蜂鸣器音量增加5%,音量减每按一次音量减少5%。这次将MCU替换成STM32F401VE芯片,属于ARM-Cortex 系列,为Cortex-M4内核。虽然实现相同的场景,但是开发配置和编码方式却大不一样。
2023-04-13 21:59:13
1623
原创 设计模式(001)创建型之工厂模式
简单工厂模式适用于对象类型比较少,且不太需要扩展的场景,而工厂方法模式适用于对象类型比较多,且需要扩展的场景。简单工厂模式最大的优点在于工厂类中包含了必要的判断逻辑,根据客户端的选择条件动态实例化相关的类,对于客户端来说,祛除了与具体产品的依赖。而工厂方法模式是把简单工厂的内部逻辑判断移到了客户端代码来实现。简单工厂模式想加功能(如计算平方、开方)需要改工厂类,工厂方法模式则是增加工厂类,改客户端。
2023-04-07 17:01:19
79
原创 从51到ARM裸机开发实验(003) AT89C51 GPIO实验
AT89C51基本I/O实验。包括protues仿真电路图设计、最小系统板、单片机软件架构设计、Keil5的使用、单片机IO驱动设计、应用程序设计
2023-04-05 20:21:20
1879
原创 从51到ARM裸机开发实验(002) Keil5的安装与配置
Keil5的安装与配置,从C51~ARM9全系支持。C51和MDK环境共存、注册、支持包安装全部步骤。
2023-04-03 22:02:43
2273
1
原创 Proteus使用详解
Proteus使用详解:什么是Protues?为什么要使用Protues?Protues的元件库有哪些?如何快捷操作Protues?
2023-03-31 20:24:00
18678
5
汽车设计开发思维导图.png
2024-03-22
STM32 Cortex-M4 MCUs and MPUs programming manual
2024-01-08
从51到ARM裸机开发实验(006)Exynos4412 GPIO实验源码(基于Tiny4412开发板)
2023-04-19
Exynos4412裸机开发参考资料和必备资源
2023-04-19
Keil上使用的ARMCC编译器 ARMCompiler-506-Windows-x86-b960
2023-04-14
从51到ARM裸机开发实验(004)STM32F401VE GPIO实验仿真电路图和源码
2023-04-13
STM32F4xx开发参考资料
2023-04-13
博客“从51到ARM裸机开发试验”MCU芯片手册
2023-04-03
QT Create 5.5.0
2023-03-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人