Strategy模式的C实现
与那些复杂的模式相比,Stragegy Pattern(策略模式)是一个相对简单的模式,很直观,也易于理解。 同时它也是我们在开发过程中使用最多的模式之一。 问题是设计模式使用的驱动力,只有当我们遇到问题时,设计模式才会向我们伸出援助之手。这里我也想通过对问题以及解决方法演化的阐述来说明策略模式是如何更好地帮助我们的。我们从问题出发! ...
与那些复杂的模式相比,Stragegy Pattern(策略模式)是一个相对简单的模式,很直观,也易于理解。 同时它也是我们在开发过程中使用最多的模式之一。 问题是设计模式使用的驱动力,只有当我们遇到问题时,设计模式才会向我们伸出援助之手。这里我也想通过对问题以及解决方法演化的阐述来说明策略模式是如何更好地帮助我们的。我们从问题出发! ...
本文翻译自Dr. Dobb’s Journal官网上的一篇由Brian W. Kernighan和Dennis M. Ritchie共同撰写的名为"The State of C“的文章。这里谨将此篇译文献给不久前刚刚离我们而去的C语言之父 – Dennis M. Ritchie,愿一代计算机科学巨匠一路走好。 ...
设计模式 (Design Pattern,以下简称DP)的定义有很多种。我个人的理解:DP是人们在软件开发过程中所总结出来的一些典型问题的经验解决方法模板。使用它们可以使我们的代码更易被复用,更易扩展,更好地适应变化以及更便于后期维护。 ...
不知为何,一到秋天我就有了爬山的冲动。于是乎我和同事一行六人在一个秋高气爽的周末来到了位于丹东宽甸的天华山。 辽宁境内的山我爬过的不多,之前只是去过千山和关门山。选择天华山也是再三考虑了同事们久疏于运动之后做出的决定,其实我个人更加向往征服另一座更为难爬的山峰 – 位于凤城的凤凰山,看来我的这个目标只能等来年再实现了^_^。 ...
Common Lisp是函数式编程语言,其基本组成单元自然是函数。对Common Lisp函数的理解也是学习Common Lisp语言的关键。另外与C语言以内存单元修改为主要编程方法不同,Common Lisp的主要编程方法是将函数应用于参数。这里我们分别用两种范式风格实现同一个函数,该函数用于取得第n个fibonacci数(n从0开始): ...
变量是C语言中最常用的、不可或缺的语言元素。C语言是命令式编程语言(imperative programming language),其基本编程方法是基于对内存单元的修改,而变量又恰是对内存单元的抽象表示,比如:“int a = 0xff"这行语句告诉我们在内存中有一块大小为4个字节的区域,该区域可以通过a这个变量直接访问,该区域初始时存储的值为0xff。由此看来C语言的主要操作就是变量操作。 ...
光有表达式,我们依旧无法写出实用的程序,我们还缺少控制结构(Control Structures)。 C语言主要有三种控制结构:顺序结构、条件分支结构和循环结构。Common Lisp 也实现了类似的控制结构,我们逐一来看。 一、顺序结构 顾名思义,顺序结构中的语句或表达式是按其位置的先后顺序依次执行的,这也是最简单也最容易理解的一种结构。在C语言中,绝大多数代码块(code block)中的代码都是顺序结构的。Common Lisp程序由S-expressions组成,其本质上的执行过程为自左向右的求值过程。不过Common Lisp的代码编排风格会让给大家一种错觉:Common Lisp似乎也是顺序执行的,例如: ...
在Unix/Linux上,我们一般可以通过两种方法查看到一个可执行程序的版本信息,以下以Ubuntu中的Gcc为例。 第一种方法:我们可以直接通过程序名字得到版本信息,例如: $ which gcc /usr/bin/gcc $ ls -l /usr/bin/gcc lrwxrwxrwx 1 root root 7 2010-08-21 00:18 /usr/bin/gcc -> gcc-4.4* ...
算上这次,部门已经是连续三年组织去海边旅游了。前年没印象了,去年是南北戴河,今年是西中岛。 按理来说,总去海边肯定有些腻歪了。但我个人还是比较喜欢海的。喜欢海不是因为喜欢吃新鲜的海鲜,而是向往一种意境:大家一起坐在海边,扶着海风,听着海浪、远望海天之际,或陷入冥想,或欢歌笑语。 ...
果果在今年五月份就已经满一岁了,不过由于"档期"原因,果果一周岁的生日照直到六月份才拍上。再加上后期靓照制作过程中,我们与影楼就版面设计交流和修改过多次,这样果果的周岁靓照一直到上周才正式出炉!啥也不说了,上图^_^。 现在小家伙儿有16个月了,很是淘气,胃口和爸爸一样好得很。我们说的生活用语似乎她都能听明白,也能照着做。但就是说话有些晚,到目前为止还不会叫爸爸呢:(。不过她的动手能力似乎还不错,目前已经会自己穿鞋子和短裤了。