引子 古人云:书非借不能读也。 现在IT书籍更新快、价格贵、质量水平更是参差不齐,实在不忍心看到用自己的血汗钱买的书不到半年就要被淘汰 更不想供养使用金山快译、词霸等现代化工具的翻译们。 于是去书店办了张借书卡,这样便没有了后顾之忧了——书不好我可以换嘛! 但是,借书也有不爽的地方,就是...
分类:
其他好文 时间:
2014-06-28 09:38:18
阅读次数:
324
类的设计最好遵循5大原则,1、单一指责原则,2、开放封闭原则,3、liskov替换原则,4、依赖倒置原则(抽象不应依赖于具体,相反,具体应该依赖于抽象),5、接口隔离原则(就是接口细分,一个接口内的方法应该是用户都需要的)。具体参考《敏捷软件开发》第2部分(第98页)类的设计估计要用到许多模式,注意...
分类:
其他好文 时间:
2014-06-28 09:33:33
阅读次数:
177
一、迭代器概述
这个标题其实有点“标题党”的含义,因为C++在标准库中的实现迭代器的方式只有一种,也就是为类定义begin()和end()函数,C++11增加了range for语句,可以用来遍历迭代器中的元素。实现迭代器的第二种方式,就是用C++模拟C#和Java中的迭代器模式,并且我们可以定义出自己的foreach语句。除此之外,迭代器可能还有很多种实现的方法,各个库也会多自己的迭代器的...
分类:
编程语言 时间:
2014-06-28 07:38:06
阅读次数:
240
今天看《JavaScript高级程序设计》一书中关于组合继承模式时,书上有这么一个Demo程序:
function SuperType(name){
this.name = name;
}
SuperType.prototype.sayName = function(){
alert(this.name);
};
function SubType(name, age)...
分类:
编程语言 时间:
2014-06-28 06:56:20
阅读次数:
171
先看图上面的设计利用命令模式实现对任务的创建,可以解耦,解耦后方便的新增任务,和管理任务(取消任务等操作)更遵循开闭原则任务对象Task是命令父类,其LoginTask等子类是具体命令 任务调用者TaskInvoker是服务员,网站Site是执行者,即任务调用者利用任务来命令网站去执行某些任务,比如...
分类:
其他好文 时间:
2014-06-27 23:17:23
阅读次数:
270
原型模式(Prototype),用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 下图是原型模式的结构图:原型模型其实就是一个对象再创建另外一个可定制的对象,而且不需任何创建的细节,我们来看看基本的原型模式代码。//原型类class Prototype{private: st...
分类:
其他好文 时间:
2014-06-27 23:15:13
阅读次数:
298
职责链,一旦范获类GetALinkExact取不到激活地址,就提交给精确类GetALinkCommon获取类处理,如果以后需要添加处理,只需要添加上级即可,不需要修改原来的类觉得我一定有理解得不对的地方,望高手斧正,如果有不详细的地方也可以指出
分类:
其他好文 时间:
2014-06-27 22:42:44
阅读次数:
235
ViewHolder是什么就不解释了。 大家通常怎么写ViewHolder呢? ViewHolder holder = null; if(convertView == null){ convertView = mInflater.inflate(R.layout.xxx null); holder ...
分类:
其他好文 时间:
2014-06-27 22:40:42
阅读次数:
306
KMP算法是通过分析模式字符串,预先计算每个位置发生不匹配的时候,所需GOTO的下一个比较位置,整理出来一个next数组,然后在上面的算法中使用。本全局匹配KMP算法针对串的堆式存储数据结构# define MAXSIZE 45 //固定next数组的长度# define OK 1# define....
分类:
其他好文 时间:
2014-06-27 22:29:03
阅读次数:
677