建造者模式(Builder):建一个复杂的对象的构建和它的表示分离,使得同样的构造过程可以创建不同的表示。
(1),主要创建一些复杂的对象,这些对象内部构建间的建造顺序通常是稳定的,但对象内部的构建通常面临着复杂的变化。
(2),建造者模式的好处就是使得建造代码和表示代码分离,由于建造者隐藏了该产品是符合组装的,所以如需要改变一个产品的内部表示,主需要在定义一个具体的建造者就可以了。
(3)...
分类:
编程语言 时间:
2014-07-29 14:24:58
阅读次数:
219
CSDN没下载积分了,附上我在研究生阶段网上下载的并且读过的一些书籍,大部分我都有读书笔记(不过写的比较糟糕),大家可以0积分下载。CSDN上传文件大小限制在50M下。。。。。。。有些书太大,不能上传
书单如下,下载地址http://download.csdn.net/user/walkerkalr
C专家编程
C++primer(中文版)
effective C+...
分类:
其他好文 时间:
2014-07-29 14:21:48
阅读次数:
272
迪米特法则(最少知识原则):如果两个类不必彼此直接通信,那么两个类就不应该发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。
(1),在类的结构设计上,每一个类都应当尽量降低成员的访问权限。
(2),迪米特法则的根本思想是强调了类的松耦合。
(3),类之间的耦合越弱,越有利于复用,一个处于弱耦合的类被修改,不会对有关系的类造成影响。
...
分类:
编程语言 时间:
2014-07-26 02:09:56
阅读次数:
293
模板方法模式:
定义:定义一个操作中的算法的骨架,而将一些步骤延伸到子类中。模板方法使得子类可以不改变算法的结构即可重定义该算法的某些特定步骤。
(1),用了继承,并且肯定这个继承有意义的情况下,就应该要成为子类的模板,所以重复的代码都应该提升到父类中,而不是让每个子类去重复。
(2),当我们要完成某一个细节层次一致的过程或者一系列步骤,但其个别步骤在更详细的层次上的实现可能不同时,我们通常...
分类:
编程语言 时间:
2014-07-24 23:04:33
阅读次数:
194
原型模式(Prototype):用原型实例制定创建对象的种类,并且听过拷贝这些原型创建新的对象。
浅复制:如果字段是值类型的,则对该字段执行逐位复制,如果字段是引用类型,则复制引用但不复制引用的对象;因此,原始对象及其副本引用同一对象。
深复制:把引用变量的对象指向复制过的新对象,而不是原有的被引用的对象。
Effective C++:
1:在资源管理类中提供对原始资源的访...
分类:
编程语言 时间:
2014-07-23 22:36:07
阅读次数:
218
1.接口实现及类型转换 1 type Sequence []int 2 3 // Methods required by sort.Interface. 4 func (s Sequence) Len() int { 5 return len(s) 6 } 7 func (s Sequen...
分类:
其他好文 时间:
2014-07-23 16:43:41
阅读次数:
210
简单工厂模式VS工厂方法模式:
简单工厂模式:最大优点在于工厂类中必须包含必要的逻辑判断,根据客户端选择条件动态实例化相关类,对于客户端来说,去除了与具体产品的依赖。
工厂方法模式(Factory Method),定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法模式使一个类的实例化延迟到其子类。
工厂方法模式实现时,客户端需要决定实例化哪一个工厂来实现相...
分类:
编程语言 时间:
2014-07-22 23:51:37
阅读次数:
363
代理模式(Proxy):为其他对象提供一种代理以控制这个对象的访问。...
分类:
编程语言 时间:
2014-07-21 23:28:09
阅读次数:
315
因为又一次定义继承而来的non-virtual函数是不对的(见上一个条款),所以这个条款就将问题局限于:绝不又一次定义继承一个带有缺省參数值的virtual函数。(一)virtual函数是动态绑定的,而缺省參数却是静态绑定。对象的所谓静态类型,是它在程序中被声明时所採用的类型。你可能会在“调用一个定...
分类:
编程语言 时间:
2014-07-21 14:24:06
阅读次数:
218