摘要: 什么是门面模式 门面模式(也有翻译为外观模式)是对象的结构模式,外部与一个子系统的通信必须通过一个统一的门面进行。其为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 其结构图如下所示(源自大话设计模式) 在什么情况下使用门面模式 为一个复杂子系统提供一个简单接口 子系统往往因为不断演化而变得越来越复杂,使用门面模式可以使得子... 阅读全文
posted @ 2013-09-27 14:35 @且听风吟@ 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 什么是享元模式 享元模式是对象的结构模式,是运用共享技术来有效的支持大量细粒度的对象。享元对象能做到共享的关键是区分内蕴状态和外蕴状态。一个内蕴状态是存储在享元对象内部,并且是不会随环境改变而有所不同的,因此一个享元可以具有内蕴状态并可以共享。一个外蕴状态是随环境改变而改变的、不可以共享的状态。享元的外蕴状态必须由客户端保存,并在享元对象被创建之后,在需要使用的时候再传入到享元对象内部。外蕴状态... 阅读全文
posted @ 2013-09-25 11:11 @且听风吟@ 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 什么是代理模式 代理模式是对象的结构模式,为其他对象提供一种对象以控制对这个对象的访问。 代理模式的结构图如下:(源自大话设计模式) Subject:定义了RealSubject和Proxy的公共接口,这样在任何使用RealSubject的地方都可以使用Proxy 代理模式就是在代理类中持有RealSubject的对象句柄,这样调用接口时,都执行RealSubject的对应方法,... 阅读全文
posted @ 2013-09-25 08:57 @且听风吟@ 阅读(213) 评论(0) 推荐(0) 编辑
摘要: C++ 对象的内存布局 一切以事实说话: 代码: 1: #include 2: 3: class A { 4: public: 5: int a; 6: int b; 7: int c; 8: }; 9: 10:... 阅读全文
posted @ 2013-09-23 16:31 @且听风吟@ 阅读(344) 评论(0) 推荐(1) 编辑
摘要: 图片备用 阅读全文
posted @ 2013-09-17 11:53 @且听风吟@ 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 转载自:http://www.cnblogs.com/imAkaka/articles/2407877.html STL的sort()算法,数据量大时采用Quick Sort,分段递归排序,一旦分段后的数据量小于某个门槛,为避免Quick Sort的递归调用带来过大的额外负荷,就改用Insertion Sort。如果递归层次过深,还会改用Heap Sort。本文先分别介绍这个三个Sort,再整合... 阅读全文
posted @ 2013-09-16 16:01 @且听风吟@ 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 平均时间复杂度 最差时间复杂度 空间复杂度 是否稳定 总结 冒泡排序 O(n^2) O(n^2) O(1) 是 最慢的排序算法 选择排序 O(n^2) ... 阅读全文
posted @ 2013-09-16 15:27 @且听风吟@ 阅读(370) 评论(0) 推荐(0) 编辑
摘要: linux 提供了select、poll和epoll三种接口来实现多路IO复用。下面总结下这三种接口。 select 该函数允许进程指示内核等待多个事件中的任何一个发生,并只在有一个或多个事件发生或经历一段指定的时间后才唤醒它。 函数接口: 1: #include 2: #include 3: 4: int select(i... 阅读全文
posted @ 2013-09-10 18:27 @且听风吟@ 阅读(475) 评论(0) 推荐(0) 编辑
摘要: 装饰模式又叫包装模式,装饰模式以客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。装饰模式可以在不使用创造更多的子类的情况下,将对象的功能加以扩展。 装饰模式结构图如下: 其包含的角色就分为: 抽象构建角色Component:给出一个抽象结构,以规范准备接受附加责任的对象。 具体构建角色Concrete Component:定义一个将要接受附加责任的类。 装饰角色Decora... 阅读全文
posted @ 2013-09-08 11:06 @且听风吟@ 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 参见百度百科API说明: fork 头文件: #include #include 函数原型: pid_t fork( void); (pid_t 是一个宏定义,其实质是int 被定义在#include中) 返回值: 若成功调用一次则返回两个值,子进程返回0,父进程返回子进程ID;否则,出错返回-1 函数说明: 一个现有进程可以调用fork函数创建一个新进程。由fork创建的新进... 阅读全文
posted @ 2013-09-08 08:33 @且听风吟@ 阅读(8500) 评论(1) 推荐(1) 编辑