写者正在学习设计模式,分享一些心得体会出来。
我所理解的设计模式就是程序员在软件开发过程中,总结出来的一种比较好的设计方法,或者说是编码技巧。多种设计模式表达了在多种特定场景下的设计方法。我会在介绍设计模式的时候,一般会给出常规方案和运用了设计模式这一技巧之后的方案。 通过比较来理解设计模式的益处。
今天我想介绍一下工厂模式:
- 开始
- 没有运用设计模式技巧的代码
- 运用之后的代码
- 总结
My head's under water, but I'm breathing fine.
写者正在学习设计模式,分享一些心得体会出来。
我所理解的设计模式就是程序员在软件开发过程中,总结出来的一种比较好的设计方法,或者说是编码技巧。多种设计模式表达了在多种特定场景下的设计方法。我会在介绍设计模式的时候,一般会给出常规方案和运用了设计模式这一技巧之后的方案。 通过比较来理解设计模式的益处。
今天我想介绍一下工厂模式:
- 开始
- 没有运用设计模式技巧的代码
- 运用之后的代码
- 总结
今天做的是一个简单的给按钮添加事件的功能。具体讲:点击“离开”按钮,弹出对话框确定是否要离开。而Java瞎看了看,没怎么学,解释可能不到位 见谅。
图是一种非线性的数据结构(数组、链表就是线性的数据结构)。而我们现在要学习一下这种不是线性的数据结构。
生活中有很多图的例子,比如说城市1和城市2之间有一条通路,城市2和城市3之间也有一条通路,城市1和城市3之间也有一条通路,如下图
我们都知道Windows的画图里面有个油漆桶工具,可以把选中的封闭区域都填充成自定义的颜色,这就是填充算法的应用。我在这里用Ncurses写成了一个小的填充算法的程序,看下图:
广度优先算法也是一种图的遍历(挨个访问)算法。像在线性表中那样,在图 如果我们有这种挨个访问每个节点的能力,我们就具有了搜索的能力。这就是广度优先算法。
我在这里用ncurses字符图形库写成了一个广度优先算法的示例程序, ncurses部分的代码内容在深度优先算法里面有详细的解释。这里先粗略的感受一下广度优先算法的逻辑
前言:
阅读此篇文章要求读者具有一些基础的ncurses库了解
深度优先算法是将各种情况分配一定的优先级,然后在某个问题出现的时候,选择优先级高的情况进行处理,特定情况下进行回退,选择优先级次之的情况进行尝试. 点击这里可以得到源码
我这里没有考虑没有出口的情况下,深度优先算法的行为结果。之后会有专门的研究文章。
我们今天来学习一个把数组元素打印成柱形图的技巧,结果如下:
005
004 ###
003 ### ###
002 ### ### ###
001 ### ### ### ###
jack@alchemy:~/C$
如果我们把一个数组的每个元素用柱形图的方式打印出来,里面的各个元素是
1, 2, 3, 4, 5
我们有一个平面直角坐标系,那么、坐标系里面的某个点的纵坐标意义就是这个点在某条垂直于y轴的直线上
一图胜千言:
前言:
并不能一文就解释清楚排序到底是怎么一回事,我所有几乎文章都需要和别的材料配合才比较容易产生理解。
推荐书目:
主要内容:
声明: 以下内容可能会引起某些读者不适, 请小心阅读. 有些内容并没有详细介绍, 可能简单理解也是错误的, 但是这都是为了尽量简单。
前言: 代码是很久之前写的,属于边想边写的那种,很混乱。
推荐材料: