![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 58
SnailCpp
这个作者很懒,什么都没留下…
展开
-
第13章 结构型模式—享元模式
1. 享元模式(Flyweight Pattern)的定义(1)运用共享技术高效地支持大量细粒度的对象 ①对象内部状态:数据不变且重复出现,这部分不会随环境变化而改变,是可以共享的。 ②对象外部状态:数据是变化的,会随环境变化而改变,是不可以共享的。 ③所谓的享元,就是把内部状态的数据分离出来共享,通过共享享元对象,可以减少对内存的占用。把外部状态分离出来,放到外部,让应用程序在使用的时候进...转载 2018-07-10 00:10:55 · 223 阅读 · 0 评论 -
有限状态自动机的C语言实现
嵌入式设计模式:有限状态自动机的C语言实现 状态机模式是一种行为模式,在《设计模式》这本书中对其有详细的描述,通过多态实现不同状态的调转行为的确是一种很好的方法,只可惜在嵌入式环境下,有时只能写纯C代码,并且还需要考虑代码的重入和多任务请求跳转等情形,因此实现起来着实需要一番考虑。 近日在看了一个开源系统时,看到了一个状态机的实现,也学着写了一个,与大家分享。 首先,分析一下一个普通的...转载 2018-07-17 16:57:24 · 1801 阅读 · 0 评论 -
去除输入字符中的多余星号
1、问题描述 将标准输入流的字符中的多余'*'号过滤,并显示到标准输出。比如输入***hell*o*wor******ld***!!*###,显示*hell*o*wor*ld*!!*###。 2、有限状态机模型 其中s1、s2是状态,a1、a2是状态机的转换函数,c1、c2转换的条件,表示非'*'字符还是'*'字符。 3、实现源码 /* * Copyrig...原创 2018-07-18 11:27:45 · 1802 阅读 · 0 评论 -
第9章 结构型模式—桥接模式
1. 桥接模式(Bridge Pattern)的定义(1)将抽象部分与它的实现部分分离,使它们都可以独立地变化 ①一般的“抽象”与“实现”是指父子类的继承关系。但这里,GoF所谓的“抽象”是如果引起一个类变化是多维度的因素(设为2维),就将其他变化因素抽象成一个接口,在“Abstraction类”中只留这个接口,然后通过对象组合(而不是继承)的方式去依赖这个接口。而“实现”是指在让另一个“Imp...转载 2018-07-06 21:17:41 · 215 阅读 · 0 评论 -
第11章 结构型模式—装饰模式
1. 装饰模式(Decorator Pattern)的定义(1)动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式比生成子类更为灵活。 ①装饰模式是为对象(而不是类)添加功能的。 ②用组合方式,而不是继承方式为对象添加功能。(2)装饰模式的结构和说明 ①Component:组件对象的接口,可以给这些对象动态地添加职责。 ②ConcreteComponent:具体的组件对象,实现...转载 2018-07-07 21:14:33 · 268 阅读 · 0 评论 -
第12章 结构型模式—外观模式
1. 外观(门面)模式(Facade Pattern)的定义(1)为子系统中的一组接口提供一个一致的界面,Façade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 ①这里说的界面是指从一个组件外部来看这个组件,能够看到什么,也就是外观。如从一个类外部看这个类,那么这个类的public方法或接口就是他的外观。 ②这里所说的“接口”是指外部和内部交互的一个通道(方法),可以是类的方...转载 2018-07-07 22:14:19 · 222 阅读 · 0 评论