自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

流沙-岁月

珍惜黄昏的村庄,珍惜雨后的村庄,万里无云如同我永恒的悲伤。

  • 博客(9)
  • 问答 (1)
  • 收藏
  • 关注

原创 观察者模式

定义:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。当一个对象发生了变化,关注它的对象就会得到通知;这种交互也称为发布-订阅(publish-subscribe)。主题是通知的发布者,它发出通知时并不需要知道谁是它的观察者,而观察者只需注册主题后,就可以获取通知,若不想继续观察主题,让主题在观察者列表中删掉对应观察者就好了。适用场景:1

2016-08-28 18:46:39 439

原创 vundle: vim插件管理安装之错误总结

我安装遇到的主要问题是不知道vundle有老版和新版之分,以致于rpt设置的新版,git clone 的却是老版,于是就遇到一些诡异的问题了,例如找不到:BuildInstall命令。。。vundle新版和旧版还是差的比较多的。旧版:vundle#rc()、Bundle;新版:vundle#begin()、Plugin.网上找到的大部分是老版本的安装方式,如下:一. Vundl

2016-08-23 22:57:54 23301 3

原创 策略模式

定义:将一系列相关算法封装成算法簇,使它们可以相互替换。使算法可以独立于使用者而变换。适用场景:当类的行为经常发生变化时,可将其行为提取出来,将不同的行为封装成一个算法簇,对使用者只提供一个抽象接口。这样也满足了OO三大原则:封装变化,针对接  口编程,多用组合少用继承组成:strategy: 定义所有支持的算法的公共接口concrete strategy: 实现了具体的算法行

2016-08-21 16:04:04 304

原创 代理模式

用处:为某个对象提供代理以控制对对象的访问。在某些情况下我们无法直接使用或访问对象,所以需要使用一层代理,通过代理访问对象。典型如网络中的代理服务器,网页加载时文字先加载,一些图片,视频后加载,在初期只提供这些这些资源开销大的对象的一个代理。           代理

2016-08-16 22:09:15 243

原创 适配器模式

作用:使原本因接口不兼容而不能一起工作的类能够协同工作。适用场景:当想复用某个类,而类的接口与环境不符,此时可以考虑使用适配器模式。用适配器封装被适配的对象,让接口由适配器提供,具体功能由被适配对象提供。关键代码:1.target:目标接口2.adptee:被适配对象3.adpter:适配器实现:有类适配器和对象适配器,如下图:图1:类模式适配器

2016-08-14 15:53:14 247

原创 抽象工厂模式

#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define LL long longusing nam

2016-08-14 15:00:26 184

原创 工厂模式

用处:隐藏了对象创建的细节,只需要知道对象的类型,就可以用对应的工厂子类创建产品。用户看到和使用的只是一个抽象产品,而无需关心到底返回了那个子类。关键代码:将产品的创建延迟(交给)到子类; 返回的是一个抽象产品优点:遵循了开闭原则缺点:每增加一个新的产品,就需要新增一个子类,产品多时,维护量大。代码:#include #include #include #include

2016-08-10 13:36:12 266

原创 装饰器模式

装饰器模式用来给一个对象动态的添加额外功能,是继承的一种替代模式。它比继承更为灵活,有时我们希望只给某个对象添加功能,而不是整个类添加功能。实现:将需要装饰的对象嵌入装饰器中,由装饰器添加额外的功能。代码:#include #include #include #include #include #include #include #include #incl

2016-08-07 20:45:49 304 4

原创 单例模式

实现代码:1.简单版本class singletion{private: singletion(int x=1):a(x) {} static singletion *p; int a;public: int get() {return a;} int set(int x) { a =x;}

2016-08-07 18:20:35 215

空空如也

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

TA关注的人

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