c语言设计模式
文章平均质量分 75
xiaoshitou441
这个作者很懒,什么都没留下…
展开
-
C语言和设计模式(访问者模式)
不知不觉当中,我们就到了最后一种设计模式,即访问者模式。访问者模式,听上去复杂一些。但是,这种模式用简单的一句话说,就是不同的人对不同的事物有不同的感觉。比如说吧,豆腐可以做成麻辣豆腐,也可以做成臭豆腐。可是,不同的地方的人未必都喜欢这两种豆腐。四川的朋友可能更喜欢辣豆腐,江浙的人就可能对臭豆腐更喜欢一些。那么,这种情况应该怎么用设计模式表达呢?[cpp]view plaincop转载 2012-02-28 17:33:51 · 246 阅读 · 0 评论 -
C语言和设计模式(命令模式)
命令模式的目的主要是为了把命令者和执行者分开。老规矩,举个范例吧。假设李老板是一家公司的头儿,他现在让他的秘书王小姐去送一封信。王小姐当然不会自己亲自把信送到目的地,她会把信交给邮局来完成整个投递的全过程。现在,我们就对投递者、命令、发令者分别作出定义。 首先定义post的相关数据。[cpp]view plaincopyprint?typedef st转载 2012-02-29 09:03:33 · 242 阅读 · 0 评论 -
用C语言封装数据与方法
类的一个特征就是数据与方法封装在一起,在编译器越来越智能的今天,大多数程序员已经习惯了数据与方法“本来”就是一个“整体”的概念。事实是不是这样呢?在面向对象语言出现之前的程序世界又是什么样的呢?让我们先回到C的世界中,看看那里的数据与方法(C中称为函数)是什么样子的。 在C中通常定义一个结构体用来把一些数据组合在一块儿,然后定义一个函数处理这个结构体。例如:/* 版本1:*/ty转载 2012-02-28 10:42:44 · 430 阅读 · 0 评论 -
C语言和设计模式(状态模式)
状态模式是协议交互中使用得比较多的模式。比如说,在不同的协议中,都会存在启动、保持、中止等基本状态。那么怎么灵活地转变这些状态就是我们需要考虑的事情。假设现在有一个state,[cpp]view plaincopyprint?typdef struct _State { void (*process)(); struct _Sate* (*ch转载 2012-02-29 08:42:29 · 301 阅读 · 0 评论 -
C语言和设计模式(继承、封装、多态)
记得还在我们大学C++第一门课的时候,老师就告诉我们说,C++是一门面向对象的语言。C++有三个最重要的特点,即继承、封装、多态。等到后来随着编码的增多和工作经验的积累,我也慢慢明白了面向对象的含义。可是,等我工作以后,使用的编程语言更多的是C语言,这时候我又想能不能把C语言变成面向对象的语言呢?等到后来通过思考和实践,我发现其实C语言也是可以面向对象的,也是可以应用设计模式的,关键就在于如何实现转载 2012-02-28 16:40:17 · 256 阅读 · 0 评论