中国 - 喜马拉雅

       Let life be beautiful like summer flowers . . .
摘要: 应用程序结构框架允许从一个或一组类中继承以便创建一个新的应用程序,重用现存类中几乎所有的代码,并且覆盖其中一个或多个函数以便自定义所需要的应用程序。应用程序结构框架中的一个基本的概念是模版方法(Template Method)模式,它很典型地隐藏在覆盖的下方,通过调用基类的不同函数(这时覆盖了其中一些函数以创建应用程序)来驱动程序运行。 模版方法的一个重要特征是它的定义在基类中(有时作为一个私有... 阅读全文
posted @ 2012-09-30 23:30 chinaxmly 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 适配器(Adapter)模式接受一种类型并提供一个对其他类型的接口。This is useful when you’re given a library or piece of code that has a particular interface, and you’ve got a second library or piece of code that uses the same basic... 阅读全文
posted @ 2012-09-30 22:55 chinaxmly 阅读(422) 评论(0) 推荐(0) 编辑
摘要: 状态模式产生一个可以改变其类的对象,当发现大多数或者所有函数中都存在有条件的代码时,这种模式很有用。和代理模式一样,这种模式通过一个前端对象来使后端实例对象履行其职责。然而,在前端对象生存其间,状态模式从一个实现对象到另一个实现对象进行切换,以实现对于相同函数调用产生不同的行为。 例如,在青蛙王子童话中,青蛙王子依照其所处的状态而有不同的行为。先通过测试一个bool变量来实现: // Kiss... 阅读全文
posted @ 2012-09-30 21:07 chinaxmly 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 代理(Proxy)模式和状态(State)模式都提供一个代理(Surrogate)类。代码与代理类打交道,而做实际工作的类隐藏在代理类背后。当调用代理类中的一个函数时,代理类仅转而去调用实现类中相应的函数, 代理模式和状态模式的区别很简单:代理模式只有一个实现类,而状态模式可以有多个实现。代理模式和状态模式的应用也不相同:代理模式控制其对实现类的访问,而状态模式动态地改变其实现类。 #incl... 阅读全文
posted @ 2012-09-30 20:30 chinaxmly 阅读(344) 评论(0) 推荐(0) 编辑
摘要: 命令模式就是一个函数对像:一个作为对象的函数。通过将函数封装为对象,就能够以参数的形式将其传递给其他函数或都对象,告诉它们在履行请求的过程中执行特定的操作。可以说,命令模式是携带行为信息的信使。 #include <iostream>#include <vector>using namespace std;class Command {public: virtual void execute()... 阅读全文
posted @ 2012-09-30 19:48 chinaxmly 阅读(297) 评论(0) 推荐(0) 编辑
摘要: 单件模式,是允许一个类有且仅有一个实例的方法。 #include <iostream>using namespace std;class Singleton { static Singleton s; // 创建静态对象 int i; Singleton(int x) : i(x) { } // 禁止构造函数 Singleton(const Singleton&); /... 阅读全文
posted @ 2012-09-30 18:02 chinaxmly 阅读(273) 评论(0) 推荐(0) 编辑
摘要: 1. 内存对界原理 在C语言中,结构是一种复合数据类型,其构成元素既可以是基本数据类型(如int、long、float等)的变量,也可以是一些复合数据类型(如数组、结构、联合等)的数据单元。在结构中,编译器为结构的每个成员按其自然对界(alignment)条件分配空间。各个成员按照它们被声明的顺序在内存中顺序存储,第一个成员的地址和整个结构的地址相同。例如: struct struct1 {... 阅读全文
posted @ 2012-09-30 14:01 chinaxmly 阅读(978) 评论(0) 推荐(1) 编辑