摘要: 应该用设计模式的眼观来看设计模式,不然一定会让你失望的。在开发中会遇到一方去调用另一方,甲具有决定权,知道什么时候该行动。而乙虽然不知道什么时候行动,但是他很清楚怎么做。 好了,现在看起来这个代码写起来非常清楚,甲去调用乙中的方法就可以了。但是不能用静态的眼观来看程序,尤其是这种调用关系中。如果哪一天甲抛弃了乙该投丙了(当然丙也是知道该怎么做但是不知道该什么时候做),这下麻烦来了。需要把甲中与乙有关的部分用丙的替换掉,当然这是简单调用的情况,那如果甲和乙之间的关系千丝万缕的时候怎么办呢?重写甲吧。 但是,如果你的程序使用了命令模式就大不一样了。甲只需要傻傻地调用execte就可以了(当... 阅读全文
posted @ 2011-11-02 14:57 GG大婶 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 以前对压缩算法一无所知,只是知道哈弗曼编码能做这种事情,但是感觉这样的方法奇慢无比。昨天下午看了下号称世界上最快的压缩算法Quicklz,对压缩的基本思路有了一定的了解。一般的压缩程序的要求读入文件之后以便压缩一边输出,而不是去先分析整个文件中的情况之后才做决定采取哪种算法。 Quicklz也不例外也是争取利用文件中重复出现的字节来进行压缩,管理结构如下:在压缩的过程中不断地读入3个字节,然后根据这3个字节得到一个hash值,根据这个hash值就可以找到offset,这个offset就是上次这个hash值出现的位置,而通过cache可以判断出这次出现的和最近一次出现相同hash值的时候的... 阅读全文
posted @ 2011-11-02 10:09 GG大婶 阅读(4927) 评论(2) 推荐(1) 编辑