摘要: 组合模式中,整体和部分可以同等看待,基类设定一个节点接口,可以派生出叶子节点和非叶子节点。叶子节点不能添加节点,非叶子节点可以添加,组成一个典型的树形结构。组合模式在游戏引擎的渲染树中应用很广泛。Composite.h内容 1 #ifndef Composite_H_H 2 #define Comp... 阅读全文
posted @ 2014-09-16 22:03 丛林小阁楼 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 建造者模式定义一个具体的物体,是各种属性的集合。要创建该物体时,可以构建一个构造器,该构造器包含特定的构造方式,但是只提供一个接口,具体构造细节放在派生类中实现。Builder.h内容 1 #ifndef Builder_H_H 2 #define Builder_H_H 3 4 #inc... 阅读全文
posted @ 2014-09-16 21:06 丛林小阁楼 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 模板模式特点:提取相同的特性放在基类中,而将不同的特性作为一个借口抽象出来,放到派生类中进行具体实现。Template.h内容 1 #ifndef Template_H_H 2 #define Template_H_H 3 4 #include 5 #include 6 using names... 阅读全文
posted @ 2014-09-16 20:02 丛林小阁楼 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 原型模式主要指通过基类的指针能够动态创建出当前实际类型的实例,可以快速复制出当前的一个副本。Prototype.h内容 1 #ifndef Prototype_H_H 2 #define Prototype_H_H 3 4 #include 5 using namespace std; 6 7... 阅读全文
posted @ 2014-09-16 19:32 丛林小阁楼 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 观察这模式中,有一个观察者监听一个事件,当事件发生时,向所有被通知者发送相应的消息和命令。例如,秘书作为观察者,监听老板的动作。当老板回来时,向看电影、睡觉的员工发送消息,让他们停止并开始工作。Observation.h内容 1 #ifndef Observation_H_H 2 #define O... 阅读全文
posted @ 2014-09-16 18:34 丛林小阁楼 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 当物体有几种不同的属性时,这时类的继承就会变的多样。例如,一款手机按类型可分为功能机和智能机,按颜色可分为黑色、白色、红色等,按品牌可分为苹果、三星、小米等。当属性越多,则需要创建的类就更多,使用桥接模式能够大大降低问题的复杂性,并且能够极大程度降低耦合。示例代码:Bridge.h内容 1 #ifn... 阅读全文
posted @ 2014-09-16 12:58 丛林小阁楼 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 单例模式是一个比较简单的设计模式,只产生一个具体的对象,一般用于全局变量,保证整个系统所使用的变量是唯一的。单例模式中,一般将构造函数和析构函数都设置为私有的,获取和释放时采用静态函数实现。具体实例:SingleInstance.h内容 1 #ifndef SingleInstance_H_H 2 ... 阅读全文
posted @ 2014-09-16 11:41 丛林小阁楼 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 工厂模式是针对不同的类型创建不同的对象,当所需要的对象没有变,而只是对它们进行的操作和算法不同时,可使用策略模式。策略模式创建不同的算法类,并返回一个基类算法对象的指针,并对它进行相关的计算或操作。实例代码Strategy.h内容 1 #ifndef Strategy_H_H 2 #define S... 阅读全文
posted @ 2014-09-16 11:18 丛林小阁楼 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 抽象工厂通过一个工厂产生各种不同的实际对象,并返回基类的指针,通过基类的指针来统一对对象进行操作,增强了其灵活性,降低了耦合,便于后续更新和维护。实例代码:AbstractFactory.h内容 1 #ifndef AbstractFactory_H_H 2 #define AbstractFact... 阅读全文
posted @ 2014-09-16 10:58 丛林小阁楼 阅读(157) 评论(0) 推荐(0) 编辑