设计模式
zhanghuanzj
这个作者很懒,什么都没留下…
展开
-
UML(Unified Modeling Language)
UML(Unified Modeling Language)可见性- : private+ : public# : protected类之间的关系1.关联关系1.1单向关联1.2双向关联1.3自关联1.4多重性关联1.5聚合关系(Aggregation)1.6组合关系(Composition)组合与聚合的区别语义上的区别组合的成员对象生命周期与自己一致...原创 2019-11-22 08:52:23 · 149 阅读 · 0 评论 -
STRATEGY(策略)-对象行为模式
1.意图定义一系列的算法,把它们一个个封装起来,并且使它们可以互相替换。使得算法独立于客户而变化。2.适用性许多相关的类仅行为有异:提供了一种用多个行为中的一个来配置一个类的方法。需要使用一个算法的不同变体:这些变体实现为一个算法的类层次时。算法使用客户不该知道的数据:以避免暴露复杂的、与算法相关的数据结构。类中的操作以多个条件语句的形式出现:将相关的条件分支移入它们各自的Strategy类原创 2016-03-14 12:33:42 · 507 阅读 · 0 评论 -
OBSERVER(观察者)——对象行为模式
1.意图定义对象间的一种一对多的依赖关系,当一个对象的状态发生变化时,所有依赖于它的对象都得到通知并被自动更新。2.适用性当一个抽象模型有两个方面,其中一个方面依赖于另一个方面。将二者封装在独立的对象中以使它们可以 各自独立地改变和复用。当一个对象改变需要同时改变其它对象,而不知道具体有多少对象有待改变(数量)。当一个对象必须通知其它对象,而它又不知道这些对象是谁。3.结构4.实现观察多个目原创 2016-03-14 19:48:59 · 706 阅读 · 0 评论 -
VISITOR(访问者)——对象行为模式
1.意图表示一个作用于某对象结构中的各元素的操作。它使你在不改变各元素类的前提下定义作用于这些元素的新操作。2.适用性一个对象结构包含很多类对象,而你想根据对象的类别对这些对象实施不同的操作。需要对一个对象结构中的对象进行很多不同的并且不相关的操作,而需要避免让这些操作“污染”这些对象的类,也不希望在增加新操作时修改这些类。对象结构中对象对应的类很少改变,但经常需要在此对象结构上定义新的操作。原创 2016-03-15 15:50:29 · 438 阅读 · 0 评论 -
原型模式
原型模式定义: 原型模式是一种对象创建型模式,用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象。 在游戏中我们会遇到各种各样的怪物,我们为了创建各种不同的怪物,可以简单粗暴的为每个怪物类设计一个创建类,关系如下: 1.粗暴方式:class Monster //怪物基类{ // Stuff...};class Ghost : pu原创 2016-05-24 22:23:00 · 527 阅读 · 0 评论 -
单例模式
单例模式定义:Ensure a class has one instance, and provide a global point of access to it.确保一个类只有一个实例,并且提供一个全局访问的途径。一个系统中我们定义一个文件系统来管理所有的文件操作,单例模式的经典实现如下:1.经典实现class FileSystem{public: static FileSystem原创 2016-05-26 22:28:19 · 352 阅读 · 0 评论 -
命令模式
Commands are an object-oriented replacement for callbacks.原创 2016-05-17 21:37:33 · 382 阅读 · 0 评论 -
享元模式
享元模式运用共享技术有效地支持大量细粒度的对象。1.一个简单的场景在游戏场景中,经常会出现大量的树木,形成森林。 每一个树基本有如下部分组成:class Tree{private: Mesh mesh_; //3D网格模型 Texture bark_; //树皮材质 Texture leaves_; //树叶材质 Vector position_原创 2016-05-18 21:10:47 · 459 阅读 · 0 评论 -
状态模式
状态模式定义:Allow an object to alter its behavior when its internal state changes. The object will appear to change its class.允许一个对象在其内部状态改变时改变它的行为,看起来就像修改了它的类 类似魂斗罗的游戏中,我们操纵的英雄会有不同的状态,而在不同的状态下,对应不同的输入会有原创 2016-06-01 16:26:47 · 486 阅读 · 0 评论