自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SPI/I2C/UART

linux工具使用

2023-01-20 17:06:55 1957

原创 GDB调试指南

linux使用工具

2023-01-20 17:05:38 1828

原创 curl文件传输工具

Linux使用工具

2023-01-20 17:04:33 1527 1

原创 JLINK + GDB 安装方法

linux使用技巧

2023-01-20 17:02:30 1832

原创 Linux 驱动程序之字符驱动

Linux 字符驱动

2022-10-21 01:42:28 490

原创 linux块设备驱动

linux 块设备驱动

2022-10-07 21:35:25 449

原创 Linux下nandflash驱动

linux nand

2022-10-07 16:47:37 609

原创 nandflash驱动

nand flash 驱动

2022-10-07 13:52:35 342

原创 Linux内核源码目录介绍

linux kernel 目录介绍

2022-09-24 23:26:19 915

原创 Yaffs文件系统

yaffs文件系统

2022-09-18 13:25:20 606

原创 ARM汇编语言

arm简单指令

2022-09-03 23:50:43 163

原创 Linux下应用程序调试

linux应用程序调试

2022-09-03 21:35:02 459

原创 Linux内核互斥技术1

linux互斥技术

2022-09-03 21:31:09 138

原创 Linux文件系统

linux文件系统

2022-09-03 19:17:16 261

原创 Linux进程介绍

linux 进程简介

2022-08-27 12:22:54 421

原创 qemu嵌入式开发环境配置

qemu嵌入式开发环境配置

2022-08-21 00:50:07 304

原创 Uboot启动分析

Uboot启动分析

2022-08-18 02:17:52 169

原创 linux中断

linux

2022-08-16 00:31:16 79

原创 修改vs工程中Inherited values

tips

2022-08-14 15:15:14 238

原创 Linux CPU调优工具汇总

linux 调优

2022-08-13 21:53:57 629

原创 Linux文件系统

linux文件系统

2022-08-13 15:14:35 438

原创 linux 系统内存诊断

linux内存诊断

2022-08-06 17:08:03 248

原创 Windows判断文件是否

window操作系统上,判断指定文件是否存在

2022-07-03 15:01:37 1002

原创 面向对象设计模式之观察者模式

19、观察者模式(Observer)使用场景:a) 一个抽象模型有两个方面,其中一个方面依赖于另一个方面b) 一个对象的改变将导致其他一个或多个对象也发生改变优点:a) 观察者和被观察者是抽象耦合的。b) 建立一套触发机制。缺点:a) 目标与观察者之间的依赖关系并没有完全解除,而且有可能出现循环引用。b) 当观察者对象很多时,通知的发布会花费很多时间,影响程序的效率。模式结构:a) 抽象目标(Subject):它提供了一个用于保存观察者对象的聚集类和增加、删除观察者对象的方法,以及通知所有

2022-07-03 15:00:59 123

原创 面向对象设计模式之命令模式

14、命令模式(Command)使用场景:认为是命令的地方都可以使用命令模式,如:a) GUI 中每一个按钮都是一条命令。b) 模拟 CMD优点:a) 通过引入中间件(抽象接口)降低系统的耦合度。b) 扩展性良好,增加或删除命令非常方便。采用命令模式增加与删除命令不会影响其他类,且满足“开闭原则”。c) 可以实现宏命令。命令模式可以与组合模式结合,将多个命令装配成一个组合命令,即宏命令。d) 方便实现 Undo 和 Redo 操作。命令模式可以与备忘录模式结合,实现命令的撤销与恢复。e) 可以

2022-07-03 15:00:34 138

原创 面向对象设计模式之责任链模式

13、责任链模式(Chain of resposibility)使用场景:避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求优点:a) 降低耦合度。它将请求的发送者和接收者解耦。b) 简化了对象。使得对象不需要知道链的结构。c) 增强给对象指派职责的灵活性。通过改变链内的成员或者调动它们的次序,允许动态地新增或者删除责任。d) 增加新的请求处理类很方便。缺点:a) 不能保证请求一定被接收。b) 系统性能将受到一定影响,而且在进行代码调试时不太方便,可能会造成循环调用。c) 可能

2022-07-03 15:00:15 78

原创 面向对象设计模式之代理模式

12、代理模式(Proxy)使用场景:优点:a) 代理模式在客户端与目标对象之间起到一个中介作用和保护目标对象的作用;b) 代理对象可以扩展目标对象的功能;c) 代理模式能将客户端与目标对象分离,在一定程度上降低了系统的耦合度,增加了程序的可扩展性缺点:a) 代理模式会造成系统设计中类的数量增加b) 在客户端和目标对象之间增加一个代理对象,会造成请求处理速度变慢;c) 增加了系统的复杂度模式结构:a) 抽象主题(Subject)类:通过接口或抽象类声明真实主题和代理对象实现的业务方法。

2022-07-03 14:59:58 263

原创 面向对象设计模式之装饰模式

9、装饰模式(Decorator)使用场景:动态地给一个对象添加一些额外的职责,动态撤销优点:装饰类和被装饰类可以独立发展,不会相互耦合,装饰模式是继承的一个替代模式,装饰模式可以动态扩展一个实现类的功能。缺点:多层装饰比较复杂模式结构:a) 抽象构件(Component):定义一个抽象接口以规范准备接收附加责任的对象。b) 具体构件(ConcreteComponent):实现抽象构件,通过装饰角色为其添加一些职责。c) 抽象装饰(Decorator):继承抽象构件,并包含具体构件的实例,可以

2022-07-03 14:59:01 79

原创 面向对象设计模式之桥接模式

7、桥接模式(Bridge)使用场景:优点:a) 抽象和实现的分离。 b) 优秀的扩展能力。 c) 实现细节对客户透明。缺点:由于聚合关系建立在抽象层,要求开发者针对抽象化进行设计与编程,能正确地识别出系统中两个独立变化的维度,这增加了系统的理解与设计难度模式结构:a) 抽象化(Abstraction):定义抽象类,并包含一个对实现化对象的引用。b) 扩展抽象化(Refined Abstraction):是抽象化角色的子类,实现父类中的业务方法,并通过组合关系调用实现化角色中的业务方法。c)

2022-07-03 14:58:12 153

原创 面向对象设计模式之适配器模式

6、适配器模式(Adapte)使用场景:将一个类的接口转换成客户希望的另外一个接口,放到新的环境中优点:a) 客户端通过适配器可以透明地调用目标接口。b) 复用了现存的类,程序员不需要修改原有代码而重用现有的适配者类。c) 将目标类和适配者类解耦,解决了目标类和适配者类接口不一致的问题。d) 在很多业务场景中符合开闭原则。缺点:a) 适配器编写过程需要结合业务场景全面考虑,可能会增加系统的复杂性。b) 增加代码阅读难度,降低代码可读性,过多使用适配器会使系统代码变得凌乱。模式结构目标(

2022-07-03 14:57:41 159

原创 面向对象设计模式之抽象工厂模式

2. 抽象工厂模式(Abstract factory)使用场景:优点:缺点:*模式结构

2022-07-03 14:57:10 75

原创 面向对象设计模式之享元模式

11、享元模式(Flyweight)使用场景:系统有大量相似对象,我们把其中共同的部分抽象出来,有相同的业务请求,直接返回在内存中已有的对象,避免重新创建优点: 大大减少对象的创建,降低系统的内存,使效率提高缺点:a) 为了使对象可以共享,需要将一些不能共享的状态外部化,这将增加程序的复杂性b) 读取享元模式的外部状态会使得运行时间稍微变长模式结构:a) 抽象享元角色(Flyweight):是所有的具体享元类的基类,为具体享元规范需要实现的公共接口,非享元的外部状态以参数的形式通过方法传入。

2022-06-26 14:55:47 92

原创 面向对象设计模式之工厂方法模式

1. 工厂方法模式(Factory method)使用场景:优点:缺点:模式结构

2022-06-26 14:55:12 149

原创 面向对象设计模式之访问者模式

23、访问者模式(Visitor Pattern)使用场景:a) 稳定的数据结构和易变的操作耦合问题,对象结构中对象对应的类很少改变,但经常需要在此对象结构上定义新的操作。b) 需要对一个对象结构中的对象进行很多不同的并且不相关的操作,而需要避免让这些操作"污染"这些对象的类,也不希望在增加新操作时修改这些类。优点:a) 符合单一职责原则。 b) 优秀的扩展性。 c) 灵活性。缺点:a) 具体元素对访问者公布细节,违反了迪米特原则(最少知道原则)。b) 具体元素变更比较困难。c) 违反了依

2022-06-26 14:53:18 145

原创 面向对象设计模式之状态模式

20、状态模式(State)使用场景:行为随状态改变而改变的场景。条件、分支语句的代替者。优点:a) 满足“单一职责原则”,结构清晰,将与特定状态相关行为局部化到一个状态中,并且将不同状态的行为分割开来b) 将状态转换显示,减少对象间相互依赖。将不同状态引入独立对象中使状态更加明确,且减少对象间相互依赖c) 状态类职责明确,有利于程序的扩展,定义新子类容易地增加新状态和转换缺点:a) 会增加系统类和对象的个数。b) 结构与实现都较为复杂,如果使用不当将导致程序结构和代码的混乱c) 状态模式

2022-03-27 17:05:52 140

原创 面向对象设计模式之解释器模式

15、解释器模式(Interpreter)使用场景:对于一些固定文法构建一个解释句子的解释器,可以将一个需要解释执行的语言中的句子表示为一个抽象语法树。一些重复出现的问题可以用一种简单的语言来进行表达优点: a) 可扩展性比较好,灵活。 b) 增加了新的解释表达式的方式。c) 易于实现简单文法。缺点: a) 可利用场景较少。b) 对于复杂的文法较难维护,执行效率低。 c) 会引起类膨胀。模式结构:a) 抽象表达式(Abstract Expression):定义解释器的接口,约定解释器的解释操作,主

2022-03-27 13:38:42 1027

原创 面向对象设计模式之迭代器模式

16、迭代器模式(Iterator)使用场景:不同的方式来遍历整个整合对象,而无须暴露它的内部表示,为遍历不同的聚合结构提供一个统一的接口优点:a) 访问一个聚合对象的内容而无须暴露它的内部表示。b) 遍历任务交由迭代器完成,这简化了聚合类。c) 它支持以不同方式遍历一个聚合,甚至可以自定义迭代器的子类以支持新的遍历。d) 增加新的聚合类和迭代器类都很方便,无须修改原有代码。e) 封装性良好,为遍历不同的聚合结构提供一个统一的接口。缺点:由于迭代器模式将存储数据和遍历数据的职责分离,增加新的

2022-03-26 23:03:52 435

原创 面向对象设计模式之策略模式

21、策略模式(Strategy)使用场景:一个系统需要动态地在几种算法中选择一种优点:a) 算法可以自由切换。b) 避免使用多重条件判断。 c) 扩展性良好。缺点:a) 策略类会增多。b) 所有策略类都需要对外暴露模式结构:a) 抽象策略(Strategy)类:定义了一个公共接口,各种不同的算法以不同的方式实现这个接口,环境角色使用这个接口调用不同的算法,一般使用接口或抽象类实现。b) 具体策略(Concrete Strategy)类:实现了抽象策略定义的接口,提供具体的算法实现。c) 环境

2022-03-26 23:03:15 136

原创 面向对象设计模式之组合模式

8、组合模式(Composite)使用场景:将对象组合成树形结构以表示"部分-整体"的层次结构,如树形菜单,文件、文件夹管理。优点:a) 高层模块调用简单。 b) 节点自由增加缺点:在使用组合模式时,其叶子和树枝的声明都是实现类,而不是接口,违反了依赖倒置原则。模式结构:a) 抽象构件(Component)角色:它的主要作用是为树叶构件和树枝构件声明公共接口,并实现它们的默认行为。在透明式的组合模式中抽象构件还声明访问和管理子类的接口;在安全式的组合模式中不声明访问和管理子类的接口,管理工作由树枝

2022-03-26 22:14:49 259

原创 面向对象设计模式之模板模式

22、模板模式(Templete method)使用场景:有多个子类共有的方法,且逻辑相同,这些通用方法,却在每一个子类都重新写,将这些通用算法抽象出来优点: a) 封装不变部分,扩展可变部分。b) 提取公共代码,便于维护。c) 行为由父类控制,子类实现。缺点:每一个不同的实现都需要一个子类来实现,导致类的个数增加,使得系统更加庞大。模式结构:a) 模板方法:定义了算法的骨架,按某种顺序调用其包含的基本方法。b) 基本方法:是整个算法中的一个步骤,包含以下几种类型。抽象方法:在抽象类中声明,

2022-03-26 22:05:16 312

空空如也

空空如也

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

TA关注的人

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