2013年12月10日

摘要: 适用于cortex-m3系列CPU的工程,操作系统为windows环境,交叉编译器Sourcery g++,方便修改 1 # *****文件目录配置******* 2 3 #交叉编译器系统路径 4 TOOL_CHAIN_DIR=C:/Program Files/CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_EABI/bin/ 5 6 #输出目录 7 OUTDIR=Debug 8 9 #链接文件 10 LD_SCRIPT=stm32_rom.ld 11 12 #用户自定义头文件目录 13 EXTRA_INC= -Iboa... 阅读全文

posted @ 2013-12-10 21:32 已过而立 阅读(884) 评论(0) 推荐(0) 编辑


2013年12月4日

摘要: 定义 确保一个类只有一个实例,并提供一个全局访问点要点单件模式确保程序中一个类最多只有一个实例单件模式提供访问这个实例的全局点类图 代码实现及实例 我们在编写某个产品设备的代码时,总是会涉及到设备的一些配置及运行参数。比如串口的波特率、带网络的还有IP地址,设备的编号名称等等。这些参数在整个系统中是唯一的,对这些参数的操作我们可以采用单件模式来实现typedef struct _singletonParam{ unsigned int magic_num; unsigned int dev_id; . . . . . }SingletonP... 阅读全文

posted @ 2013-12-04 11:13 已过而立 阅读(662) 评论(3) 推荐(1) 编辑


2013年12月3日

摘要: 定义 定义了算法族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户要点代码可复用、可扩充、可维护 (写一段函数代码很简单,难的是后期的修改,维护)针对接口编程,不针对实现编程类图 代码实现及实例 下面是rt_thread系统中的关于设备操作功能的代码实现。struct rt_device{ . . . /* common device interface */ rt_err_t (*init) (rt_device_t dev); rt_err_t (*open) (rt_device_t dev, rt_u... 阅读全文

posted @ 2013-12-03 10:59 已过而立 阅读(589) 评论(4) 推荐(0) 编辑


2013年11月23日

摘要: 定义 动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案 要点 继承属于扩展形式之一,但不见得是达到弹性设计的最佳方案尽量不修改现有的代码,允许扩展代码装饰者模式意味着有很多用来包装具体组件的装饰者类装饰者类可以在被装饰者的行为前面或后面加上自己的行为,甚至替换掉被装饰者的行为来达到自己的目的可以有无数个装饰者包装一个组件在客户程序不依赖于组件的具体类型的情况下,装饰者对组件的客户是透明的装饰者会导致设计中出现许多小的对象,不要过度使用类图 还是网上下的白话 不知道小时候有没有玩过一个游戏,游戏玩法就是几个人在一些小纸条上写上各自的名字,然后再在另外的纸条上分别... 阅读全文

posted @ 2013-11-23 00:20 已过而立 阅读(552) 评论(0) 推荐(1) 编辑


2013年11月22日

摘要: 定义 定义了主题对象与观察者对象之间的一对多依赖,当主题改变状态时,观察者对象都会收到通知并且自动更新要点观察者模式中的对象之间是一对多的关系主题使用一个共同的接口来更新观察者主题与观察者之间采用松耦合的方式结合,主题不知道观察者的细节,只知道观察者实现了某个接口使用此模式时,观察者可被动等待主题的数据(更好),也可主动获取自己需要的主题的数据类图 网上截取的 代码实现及实例 要求:单片机程序中,检测某一输入IO口的状态,当输入为1时,向UART1、UART2发送数据,并更新液晶显示 代码实现: 假设 IO的状态为 IO_STATE 设备定... 阅读全文

posted @ 2013-11-22 11:40 已过而立 阅读(639) 评论(3) 推荐(1) 编辑


Copyright © 2024 已过而立
Powered by .NET 8.0 on Kubernetes