C++设计模式代码
文章平均质量分 77
wsgxiaomianao
这个作者很懒,什么都没留下…
展开
-
创建类模式总结-简单工厂、工厂、抽象工厂、建造、原型
#pragma once #include #include using namespace std; #define SAMPLE_FACTORY 0 #define FACTORY_MODE 0 #define ABSTRACT_FACTORY 0 #define ABSTRACT_FACTORY_OPTIMAL 0 #define BUILDER_MODE 1原创 2014-08-19 11:37:30 · 533 阅读 · 0 评论 -
观察者模式
#pragma once #include #include #include using namespace std; /* 观察者模式(适合设计一个事件触发处理机制的功能) (1)定义对象间一种一对多的依赖关系,使得当每一个对象改变状态,则所有依赖于它的对象都会得到通知并自动更新。 其实质是被观察者类中关联一下观察者类,并且在处理一些事情后,遍历观察者类的相关的方法。 角色: (a)原创 2014-08-18 16:33:44 · 472 阅读 · 0 评论 -
桥接模式
#include "stdafx.h" #include using namespace std; /* 桥接模式 定义:将抽象部分与它的实现部分分离,使它都可以独立的变化 解释(1):抽象与实现分离,并不是说,让抽象与其派生类分离,因为这没有任何意义。实际指的是抽象类和它的派生类用来实现自己的对象。 解释(2):实现系统可能有多角度分类,每一种分类都有可能变化,那么就把这种多角度分离出来让原创 2014-08-25 13:28:54 · 509 阅读 · 0 评论 -
命令模式和职责链模式
#include #include #include using namespace std; /* 命令模式和职责链模式 把这两个模式放在一起学习,因为觉得对比起来学习更有效果。 前者是多个命令交付给一个指定的处理者去处理 后者是将一个请求,按链式方式交付给多个执行者,找到其中适合执行的执行者去操作。 命令模式中主要是处理多个命令,通过中间人对命令的整理与修改,最后将命令名单发送给执行原创 2014-08-26 15:22:46 · 729 阅读 · 0 评论 -
适配器模式
#pragma once #include #include using namespace std; /* //适配器模式 定义:将一个类的接口转换成客户希望的另外的一个接口。使得原来不能在一起工作的类可以一起工作。 应用:主要希望复用一些现存的类或第三方的插件库,但是接口又与复用环境要求不一致。 两个类所做的事情相同或相似,但是具有不同的接口,并且在双方都不太容易修改的情况下再使用适配原创 2014-08-28 10:51:19 · 523 阅读 · 0 评论 -
工程模式(一)简单工厂模式
#pragma once #include #include using namespace std; /* 简单工程模式 (1)创建产品抽象类 (2)创建不同派生类继承产品抽象类 (3)创建工厂类,在工厂类中添加创建产品的方法,并返回产品抽象类的对象指针 (4)在该方法中根据不同的产品类别,实例化对应的产品对象,并返回创建的产品对象的指针 */ enum { PRODUCT_PRO1 =原创 2014-08-17 21:57:52 · 1075 阅读 · 0 评论 -
单例模式(懒汉模式)
#pragma once #include #include using namespace std; /* 懒汉单例模式 (1)私有化构造函数禁止实例化对象 (2)私有化静态类成员指针禁止外部直接操作此指针 (3)初始化静态类成员指针为NULL (4)创建共有成员静态方法,判断并初始化静态类成员指针 */ class signal{ private: signal(){}; stati原创 2014-08-17 21:44:39 · 555 阅读 · 0 评论 -
建造者模式
#pragma once #include #include using namespace std; /* 建造者模式 要素: (1)构建产品类Product,产品类实现具体制作的产品的各个组件。一般会有比较多的代码量。产品类可以是一个具体的类,也可以是抽象类。 (2)构建抽象建造者类IBuilder,是为了将建造的具体过程交与它的子类来实现。这样更容易扩展。一般至少会有两个抽象方法,一原创 2014-08-18 11:14:23 · 459 阅读 · 0 评论