摘要: 一、首先看建造者模式的UML图: 二、再来看一个建造者模式的例子 int main(){ FatBuilder thin; Director director(&thin); director.Create(); return 0;} 三、建造者模式和工厂模式的联系 联系前面的工厂模式,可以发现建造 阅读全文
posted @ 2016-12-28 10:40 pinhole 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 单例模式很显然是定义一个类,这个类在程序中只有唯一的实例对象。一般单例类的构造函数是私有的,只能通过调用静态函数GetInstance来获取实例。 一、单例模式有三种:懒汉式单例、饿汉式单例、登记式单例(利用java内部类的概念)。 1.懒汉式单例 优点:第一次调用才初始化,避免内存浪费。 缺点:如 阅读全文
posted @ 2016-12-28 10:10 pinhole 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 工厂模式属于创建型模式,分为三类,简单工厂模式、工厂方法模式、抽象工厂模式。 一、简单工厂模式 在工厂中做判断,根据产品类型从而创造相应的产品,当增加新产品时需要修改工厂类。 例如: 二、工厂方法模式 简单工厂模式的缺点是增加新的产品类型时,需要修改工厂类,违反了开闭原则。工厂方法模式,是指定义一个 阅读全文
posted @ 2016-12-28 09:11 pinhole 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 1.单一职责原则 类的职责要单一,不能将太多的职能放在一个类中。 2.开闭原则 软件实体对扩展是开放的,但对修改是关闭的,即在不修改一个软件的基础上去扩展其功能。实现开闭原则的关键是抽象化,找到系统的可变因素,将它封装起来。 3.里氏替换原则 一个可以接受基类对象的地方必然可以接受一个子类对象。在程 阅读全文
posted @ 2016-12-28 08:43 pinhole 阅读(531) 评论(0) 推荐(0) 编辑
摘要: 1.vs中新建一个静态库项目 2.配置头文件目录,将./compat、./include、./WIN32-Code三个目录添加到文件目录中 3.用记事本打开Makefile.nmake文件,可以看到里面的目标文件,添加对应的.c文件到项目的源文件目录中 4.可以生成一个静态库,不用安装libeven 阅读全文
posted @ 2016-11-08 16:50 pinhole 阅读(849) 评论(0) 推荐(0) 编辑
摘要: windows平台下: #include <windows.h> DWORD dwTimeCout1 = GetTickCount(); //操作系统启动到现在持续的毫秒数 Sleep(10000); //在sleep的这十秒内如果修改系统时间,不影响时间间隔 DWORD dwTimeCout2 = 阅读全文
posted @ 2016-03-24 16:40 pinhole 阅读(764) 评论(0) 推荐(0) 编辑
摘要: 1.简介(1)Apache log4cxx当前是由Apache软件基金会进行维护。它是java中著名开源项目Apache log4j在c++中对应的日志框架。它是借助于APR(Apache Portable Runtime)的可在多平台进行移植的开源项目。经验表明,日志是开发流程中一个重要的模块,有... 阅读全文
posted @ 2015-12-31 10:18 pinhole 阅读(1323) 评论(0) 推荐(0) 编辑
摘要: 1.#define缺点1#define NUM 1.2记号NUM可能没有进入记号表,在调试或者错误信息中,无法知道1.2的含义。改善:通过const int NUM = 1.2;2.#deine缺点2无法利用#define创建一个class专属常量,一旦宏被定义,它就在其后的编译过程中有效(除非遇到... 阅读全文
posted @ 2015-12-09 22:13 pinhole 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 1.枚举类型的作用我们在写程序的时候,常常需要定义一组与对象相关的属性。例如某个函数形参类型定义为枚举类型,如果传递实参的时候不是枚举类型定义的枚举子,则编译出错,即使传递的值和枚举子的值一样,也会报错,除非强制转换成枚举类型。2.枚举类型的定义enum [enumeration name]{enu... 阅读全文
posted @ 2015-12-09 21:53 pinhole 阅读(382) 评论(0) 推荐(0) 编辑
摘要: 1.在boost官网:http://www.boost.org/下载相应版本的boost2.解压boost到相应目录,在boost跟目录下有b2可执行程序,可以通过输入命令“/b2 --help”,查看相应的参数设置。例如:--build-dir= 编译的临时文件会放在builddir里(这样比较... 阅读全文
posted @ 2015-12-03 10:48 pinhole 阅读(514) 评论(0) 推荐(0) 编辑