自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 Decorator 装饰

动态的给一个对象增加一些额外的职责。 对于增加功能来说,Decorator模式比生成子类更为灵活。 使用继承是添加功能的一种有效途径,从其他类继承过来的特性可以被多个子类实例使用。但是这种方法不够灵活,用户不能控制对新功能增加的方式和时机。 一种灵活的方式是将要扩展的组件对象嵌入到另外一个对象中,由这个对象负责新的功能。这个嵌入对象就是装饰。 装饰的接口与要扩展

2015-03-17 00:29:38 297

原创 Composite 组合

将对象组合成树形结构以表示 部分-整体 的层次结构。 比如这样的一个场景(书上的例子): 有text、line这样的一些图元,可以组合成较大的组件。而组合后的组件又可以组合成更大的组件。一种简单的实现,是为text、line定义一些类,另外定义一些类作为这些图元的容器类。这样的问题在于,图元与容器是两类对象,但是实际上组件应当具有图元的性质。 组合composite的关键就是一

2015-03-13 01:10:13 357

原创 Bridge 桥接模式

将抽象部分与实现部分分离,使得都可以独立地变化。 使用原因:一个抽象可能会有多个实现,往往通过继承来协调。但是抽象部分(对现实事物的抽象)和实现部分(具体实现)会在继承时绑定,不够灵活。 举例(这里使用设计模式一书中的例子):我们需要一个window类,并且需要window类在xwindow 以及pmwindow下的不同实现。我们还会需要IconWindow来展示图标,BoxW

2015-03-12 01:16:19 434

原创 适配器 Adapter

适配器: 将一个类的接口转化为客户希望的另外一个接口。使得原本由于接口不兼容而不能组合在一起工作的那些类可以一起工作。 使用适配器的原因: 有的情况下,有些类不能复用的原因仅仅是接口不兼容。 比如:我们有一个继承体系,父类F拥有抽象方法GetCount,返回成员个数。用户希望使用F类的GetCount接口,而又有一个类T只有方法ListMem返回所有的成员。如何才能复用类T呢?

2015-03-11 23:50:05 258

原创 Abstract Factory 抽象工厂

创建型模式抽象了实例化过程。使得系统独立于如何创建、组合和表示它的对象。 类的创建型模式使用继承改变被实例化的类,而一个对象创建型模式将实例化委托给另一个对象。 系统的增长变化会主要依赖于对象的复合而不是类的继承。 Abstract Factory 抽象工厂 ---对象创建型模式 提供一个创建一系列相关或者相互依赖的对象的接口,不需要指定具体的类。 组成:工厂类由

2015-03-09 23:31:07 265

原创 基本排序算法

基本排序算法

2015-03-09 22:28:30 327

原创 vim ctags的使用

把vim和ctags的使用方法记录一下,免得工作环境换了,又要查。 这里不介绍ctags的基本使用,说下ctags的常用的使用方法 由于我们使用的是vim+ctags,由于ctags跳转时,不支持对函数的signature的判断,可能同一个函数会有很多个tag出现。 极端情况下,c++中很多类如果都有一个同名的函数,跳转的时候会看到一个超大的列表。这个问题如果你有好的解决方案

2015-03-02 20:05:50 503

空空如也

空空如也

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

TA关注的人

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