摘要: 1、代理模式:为其他对象提供一种代理以控制对这个对象的访问。它是真实对象的代替品。2、好处:(1)、某些情况下,调用者不能直接引用另一个对象,可以代理其它对象去使用该对象。(2)、实现代码隐藏。3、代理模式中的角色:(1)、抽象角色:该角色通常为抽象类,为真实对象提供共同的接口。(2)、代理角色:代... 阅读全文
posted @ 2015-10-29 15:47 zxtp 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 1、装饰模式:在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。2、装饰模式3个部分:(1)、被装饰的类对象,就是说要有一个需要装饰的对象。(2)、装饰类。该类的作用就是为了增强被装饰对象的功能。(3)、装饰类对象。再创建装饰了对象... 阅读全文
posted @ 2015-10-28 17:10 zxtp 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 1、策略模式:又叫算法簇模式。它定义了一系列的算法,分别封装起来,让他们之间可以相互替换(实现这点,在C++中可以使用指针或者引用),此模式让算法的变化不会影响到使用算法的客户。2、优点:策略模式的好处在于可以动态改变对象的行为。3、设计原则:把一个类中经常改变或者将来有可能改变的部分提取出来,作为... 阅读全文
posted @ 2015-10-28 17:09 zxtp 阅读(372) 评论(0) 推荐(0) 编辑
摘要: 1、单一职责原则:就一个类而言,应该仅有一个引起它变化的原因。如果这个类承担的职责过多,就等于关于把这些职责耦合在一起,一个职责的变化可能会消弱或则抑制这个类完成其它职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏。软件设计要做的许多内容就是发现职责并把那些职责相互分离... 阅读全文
posted @ 2015-10-28 17:07 zxtp 阅读(276) 评论(0) 推荐(0) 编辑
摘要: 1、容器=数据结构+算法。相当于是为复杂的数据设计一种专门用于存放该数据的东西。用于开发中传递复杂的数据。2、模版函数只能写在头文件中。不能单独做声明。3、STL容器类分为三类:(1)、顺序容器类 vector 数组。查询快,但是插入慢。加入的数据顺序与大小有关。 deque ... 阅读全文
posted @ 2015-10-27 21:55 zxtp 阅读(300) 评论(0) 推荐(0) 编辑
摘要: 1、隐藏:存在于派生类和基类中。只要成员名字相同就叫做隐藏。参数和函数名都相同时,是一种特殊的隐藏,叫做重写,重写只出现在函数中。若需要访问基类中被隐藏的成员,必须访问这种方法:“对象名:类名::隐藏成员名”。而“对象.成员名”访问的是派生类中的成员。之所以叫隐藏,是因为它的访问方式。2、overl... 阅读全文
posted @ 2015-10-26 21:10 zxtp 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 1、如果一个类要成为基类,那么它的成员变量声明成受保护的变量,既用关键字protected修饰。2、处理共同继承产生的二义性:采用虚继承方式,当出现两个相同的成员时,编译器会自动删除其中一个。其方法是在继承的时候加上关键字:virtual。也可以将会产生二义性的成员声明为私有成员。但是这种方法不可用... 阅读全文
posted @ 2015-10-26 09:10 zxtp 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 1、在实际开发中,引用类型变量值用于函数的参数中。它不会另外开辟空间(提高了程序效率),他相当于变量的别名,代表的就是当前这个变量的地址空间。(引用的底层用的是指针。因此从底层的角度讲,其实它的效率是没有提高的)。2、不要定义类似下列的函数:void fun(int parameter){};voi... 阅读全文
posted @ 2015-10-24 11:01 zxtp 阅读(225) 评论(0) 推荐(0) 编辑