自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 状态模式

当一个对象可能有N中状态,而且每种状态下对象的行为都不一样,同时状态间的关系较为复杂时,使用状态模式。状态模式是针对此对象每种状态定义一个类,每个类中都有此对象的指针,在每个类中处理和状态相关的动作(函数)。此对象包含这些这些状态类的指针族,同时有一个表示当前状态的指针,同时变化这个指针的值来修改当前状态对应的动作。在非必须使用状态模式的情况下,不要使用,这个实现类太多,同时代码阅读性

2015-08-27 15:38:11 329

原创 访问者模式

访问者模式比较绕。她主要有两个东西,一个是元素,一个是访问者。他们的关系时,元素接受访问者,访问者访问元素。在元素接受访问者时,将访问者传递给元素。在这个函数中,访问者访问这个元素,这时将这个元素传递给访问者。一般情况下不需要用到访问者模式。还没理解什么情况下需要用到这个模式。

2015-08-27 15:19:10 371

原创 职责链模式

当一件事情需要一级一级的向下传递时,可以用职责链的方式。又分其它几个情况1、在这个职责链中每个节点都有相应操作,这样用职责链是最好的选择2、在这个职责链中只有最后一个才做相应的处理,前面的节点都是起到传递和搜寻最后一个节点的作用。则此时,可以用职责链也可以用表驱动来实现。职责链模式是将我们需要用户去一级一级的寻找处理者,变为用户找到一个处理者,然后这个处理者处理后由这个处理

2015-08-27 14:28:47 329

原创 迭代模式

参考vector等

2015-08-27 11:45:21 374

原创 观察者模式

当存在一对多的关系时,我们设计一个观察者,用来处理一个变化引起的相关变化动作。设计一个观察者,观察者维护一系列对象族,这些对象族都是由相应动作需要做出变化者自己注册的。当一个变化发生时,会通知观察者这个变化,然后观察者会遍历所有对象族,通知相应对象

2015-08-27 11:31:57 266

原创 装饰模式

装饰模式对于一个已有的类,需要对其增加一些小的功能属性,同时这些功能属性和这个类本身关联性不是很强,这时使用装饰模式而不使用继承。装饰模式即提供一个新类,这个新类由被装饰的类组合而成(被装饰类指针),同时增加装饰功能。

2015-08-27 11:20:54 266

原创 组合模式

当构建层次结构时,比如像树时。每一个节点都可以由简单节点构成,而当前这个节点又是上一个节点的简单节点。我们不想要区分这些简单节点和复杂节点。我们可以定义一个接口类,这个接口类中包括了要使用的共有接口,然后不论简单还是复杂节点都继承这个类。如此我们以后再使用和遍历这个树时,对待每个节点可以直接向对待这个接口类一样,不必要去区分不同的节点。

2015-08-27 10:54:59 286

原创 桥接模式

当一个对象受多个因素变化影响时,可以将这些因素抽象出来(也可以留一个作为主类)。对每个因素抽象一个抽象类,然后在一个主类中,对每个抽象类拥有一个指针。通过这个指针来变化没个因素。比如,一支笔(CPen)有尺寸和颜色两个因素,我们可以把颜色抽象出来成(CColor),然后在CPen中有一个CColor的指针pColor,这样当颜色因素变动时,我们只需要变化pColor就可以了。本质上是,

2015-08-27 10:34:17 334

原创 Adapter

类适配:适配类去继承要适配的类,提供目标接口函数,在目标接口函数调用现有函数。就是对要适配的类进行一次封装对象适配:适配类有一个要适配类对象,提供目标接口函数,在目标接口函数通过适配对象调用其现有函数。就是对其一次组合封装。适配是通常是对几个类的现在有函数组合使用。

2015-08-27 09:52:08 320

原创 原型模式

由一个对象克隆

2015-08-27 09:34:22 299

原创 模板模式

又叫模板方法模式,在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情冴下,重新定义算法中的某些步骤。在一个方法中定义一个算法的骨架:在父类中提取所有子类的公共部分,而这些公共部分中的某一个步骤在子类中不一样时,想这部分抽取成一个虚函数。而将一些步骤延迟到子类中:上面提取的虚函数在子类中具体实现。

2015-08-26 16:41:39 296

原创 Builder

主要有两部分组成Builder:提供各个小组件的生产方法Director:用Builder提供的组件安装一定的组装逻辑,组装成产品

2015-08-26 15:40:49 303

原创 生成模式

生成模式:Factory,着重于生产一系列产品,这些产品都有相同的功能,但是每个功能的做法和具体实现不一样。Builder,着重于生产一系列产品,这些产品都可以由“一堆零件”中的部分零件组合而成。

2015-08-26 15:23:19 529

原创 工厂模式

述求:我要使用一个东西:1、我只需要关心     1.1我从哪里拿到它     1.2我怎么使用它2、其它诸如怎么生产的,我使用时它内部怎样工作的我都不关心实现我要使用一个东西:1、我需要看到     1.1一个生产工厂,有一个生产次东西的接口     1.2一个接口类,里面有我要使用的每个方法函数2、具体怎么生产放到子类工厂实现,使用东

2015-08-26 11:22:28 308

Poco库源码

Poco是一个开源的,用于简化和加速C++开发,面向网络和移植的C++库集。

2012-10-31

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除