2013年7月6日

单例模式(singleton pattern)--------创造型模式

摘要: 缺点:1、单例模式没有抽象层,单例模式的扩展较困那(开闭原则)2、单例类的职责过重,既提供了业务方法,又提供了创建对象的方法,将对象的创建和对象本身的功能耦合在一起(违反单一职责原则,但是似乎又无法避免)优点:1、单例模式提供了对唯一实例的受控访问;2、由于在系统内存中只有一个对象,因此可以节约系统资源,提高系统性能3、允许可变数目的实例。使用与控制单例对象相似的方法来获得指定个数的实例对象。 阅读全文

posted @ 2013-07-06 21:26 阿加 阅读(146) 评论(0) 推荐(0) 编辑

原型模式(prototype pattern)---------创造型模式

摘要: 原型模式的缺点:1、需要为每一个类配备一个克隆方法,而且该克隆方法位于一个类的内部,当对已有的类进行改造时,需要修改源代码,违背了开闭原则(open-closed discipline)2、在实现深克隆时需要编写较为复杂的代码,而且当类之间存在多重继承时,为了实现深克隆,每一层对象对应的类都必须支持深克隆,实现起来比较麻烦。原型模式的优点:1、当创建新的对象实例较为复杂时,使用原型模式可以简化对象的创建过程,通过复制一个已有实例可以提高新实例的创建效率;个人认为,对于该中模式,最好还是使用工厂模式,在抽象产平中嵌入clone接口好一些,刘伟先生的书中,当我用C++实现时,依然选择用工厂模式进行 阅读全文

posted @ 2013-07-06 20:02 阿加 阅读(180) 评论(0) 推荐(0) 编辑

哈希----字符串----time33

摘要: //此处只是获得了字符串的hash值,但是该如何散列到hash表中呢?哪个算法会好些?! 1 //在处理以字符串为键值的哈希时,times33哈希算法有着极快的计算效率和很好的哈希分布 2 3 //小写英文单词 4 #if 1 5 unsigned int str_hash(const char* key) 6 { 7 unsigned int hashval = 0; 8 while(*key) 9 {10 hash = ((hash << 5) + hash) + (unsigned int)*key++;11 }12 13 ret... 阅读全文

posted @ 2013-07-06 19:00 阿加 阅读(615) 评论(0) 推荐(0) 编辑

哈希-------开放寻址法-------暴雪哈希

摘要: 1 //StringHash.h 2 3 #ifndef __STRINGHASH__ 4 #define __STRINGHASH__ 5 6 #define MAXTABLELEN 1024 //默认哈希索引表大小 7 8 //哈希索引表定义 9 typedef struct _HASHTABLE10 {11 long nHashA; 12 long nHashB; 13 b... 阅读全文

posted @ 2013-07-06 18:17 阿加 阅读(1076) 评论(0) 推荐(0) 编辑

导航