游程编码的基本原理是:用一个符号值或串长代替具有相同值的连续符号(连续符号构成了一段连续的“行程”。游程编码因此而得名),使符号长度少于原始数据的长度。只在各行或者各列数据的代码发生变化时,一次记录该代码及相同代码重复的个数,从而实现数据的压缩。
游程编码(Run Length Encoding , RLE)
例如:5555557777733322221111111
游程编码为:(5...
分类:
其他好文 时间:
2014-09-09 13:21:40
阅读次数:
124
在敲机房收费过程中,我们会发现很多窗体除了一些细微的差别外,基本是一模一样的,功能的实现也是大同小异。在第一次机房收费的时候,我们都是“好学生”,尽管代码重复率极高,还是按部就班的一个个的实现。但在学习了设计模式,机房重构的现在,再傻傻的重复代码,就不是明智之举了。
整个收费系统中,总计有四个组合查询的功能(界面如图),为了提高代码复用率,提高效率,就引入了模板方法实现。
...
分类:
其他好文 时间:
2014-08-24 15:30:42
阅读次数:
263
继承(inheritance)是面向对象的重要概念。继承是除组合(composition)之外,提高代码重复可用性(reusibility)的另一种重要方式。组合是重复调用对象的功能接口。继承可以重复利用已有的类的定义。类的继承我们之前定义类的时候,都是从头开始,详细的定义该类的每一个成员。比如下面...
分类:
编程语言 时间:
2014-08-21 19:03:14
阅读次数:
197
函数可以让我们将一个复杂功能划分成若干模块,让程序结构更加清晰,代码重复利用率更高。像其他编程语言一样,Shell 也支持函数。Shell 函数必须先定义后使用。Shell 函数的定义格式如下:
[function] fun() {
list of commands
[ return value ]
}说明:
可以带function fun() 定义,也可以直接fun(...
分类:
其他好文 时间:
2014-08-20 18:05:19
阅读次数:
217
组合查询,对于机房来说可以算是一个很是值得我们认真考虑的地方,因为解决它的方法有很多种,但是想要找到一个最合适的却需要投入我们更多的思考。当然,不仅仅包括组合查询的SQL语句的组织,也包括检查它的完整性和对它进行数据库中的对应的字段的一个转换等问题。
学完设计模式后,大家在重构中大部分都应用了模板方法模式,这个模式在很大程度上减轻了组合查询中涉及到的代码重复问题。具体实现请见:http://bl...
分类:
其他好文 时间:
2014-08-17 15:35:12
阅读次数:
342
重复的代码开发,在作为初级的程序员是经常遇见的,因为被要求做一些很固定且比较简单通用的模块,所以很容易就遇上功能相同的代码进行重复的开发了。
1.为什么会有重复的代码
重复的代码可能会出现编写人员抽象公有模块抽象公有功能的能力,可能来自我们开发方式过于老化固定了类之间的相互应用所以导致编写的某一个功能只适用一个特定的系统使用,可能来自我们的设计人员对项目框架设计考虑不够仔细,没有重用性的设...
分类:
其他好文 时间:
2014-07-12 18:26:48
阅读次数:
209
题目:求1+2+3...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字以及条件判断语句题解分析:不能使用乘除法,也就不能使用 n(n+1)/ 2公式了不能使用for while 也就不能使用循环之类的利用构造函数求解:循环只是让相同代码重复执行n遍,我们...
分类:
其他好文 时间:
2014-07-10 11:33:22
阅读次数:
208
对于模板方法模式的使用,我后悔自己用晚了,因为我们的机房收费收费系统有很多窗体是几乎一样的,如果我们不用模板方法模式,就会大大增加工作量,首先,我们需要重复的创建窗体,其次我们的代码量也会大大增加,就是复制、粘贴代码也是一件让人摒弃的事情,所以推出模板方法模式,用意就在降低代码重复,减少工作量,通过求同存异的思想来实现。下面看一下我在组合查询中用到的模板方法模式:
首先,创建...
分类:
其他好文 时间:
2014-06-03 05:44:34
阅读次数:
250
对于单纯常量,最好以const对象或enums替换#defines对于形似函数的宏,最好改用inline函数替换#define将某些东西声明为const可帮助编译器侦测出错误用法。const可被施加于任何作用域内的对象、函数参数、函数返回类型、成员函数本体。当const和non-const成员函数有着实质等价的实现时,令non-const版本调用const版本可避免代码重复。确定对象被使用前已经被...
分类:
编程语言 时间:
2014-05-22 17:09:29
阅读次数:
263
在做布局时,经常有些部分是重复的,比如title或者foot的地方,最简单的办法当然是直接复制过去,
这里介绍include的用法,有过c++或者c经验的同学一看就明白了,就是把另一个布局包含进来.
先看下实现的效果:
里面上下各有两个文字布局,是用include包含进去的,直接看代码
activity_main.xml:
<RelativeLayout xmlns:android=...
分类:
移动开发 时间:
2014-05-22 13:04:44
阅读次数:
345