设计模式
设计模式
timeshark
猫头鹰是我的好朋友~
展开
-
01. 简单工厂模式
前言:设计模式方面,很多是多态模式的实现。多态涉及继承和指针。 简单工程模式:有一个工程类,可以根据输入进行生产不同的对象指针。其代码和运行结果如下: /** * @file car_factory.h * @brief car factory * @author timeshark * @version 1.0 * @date 2018-08-06 */ #ifndef CA...原创 2018-08-06 16:15:21 · 163 阅读 · 0 评论 -
02. 工厂方法模式
工厂方法模式:在简单工厂方法模式的基础上,把创建对象的方法virtual化,然后创造多个工厂,每个工厂产生一个类型的产品。特点:每增加一个产品,需要增加一个相应生产的工厂。 /** * @file car_factory.h * @brief car factory * @author timeshark * @version 1.0 * @date 2018-08-06 */ ...原创 2018-08-06 16:49:15 · 171 阅读 · 0 评论 -
03. 策略模式
策略模式:算法部分可以抽象成接口,用户根据需要选择对应的算法(策略)。以cache置换算法为例,代码如下: /** * @file cache.h * @brief strategy * @author timeshark * @version 1.0 * @date 2018-08-06 */ #ifndef CACHE_H #define CACHE_H #include ...原创 2018-08-06 18:57:52 · 145 阅读 · 0 评论 -
04. 原型模式
原型模式,产生一份简历,其他简历从该简历进行clone,所以当这份简历改变后,之后clone的简历都会有所改变,这份简历就是原型。注意:原型模式涉及浅拷贝和深拷贝。代码示例如下: /** * @file resume.h * @brief prototype pattern * @author timeshark * @version 1.0 * @date 2018-08-06 ...原创 2018-08-06 21:35:28 · 145 阅读 · 0 评论 -
05. 建造者模式
建造者模式:建造过程相同,然后可以建造出不同的产品。简单工厂模式是同一个工厂生产不同的产品。侧重点有些区别。代码示例如下 /** * @file builder.h * @brief builder pattern * @author timeshark * @version 1.0 * @date 2018-08-07 */ #ifndef BUILDER_H #define ...原创 2018-08-07 14:34:57 · 3411 阅读 · 0 评论