自定义博客皮肤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)
  • 收藏
  • 关注

翻译 对象行为模式——策略模式(Strategy)

#include #include #include using namespace std;class Strategy{public: virtual void AlgorithmInterface() = 0;};class Context{public: Context(Strategy *pStrategy=NULL):m_pStrategy(pStrategy

2012-05-30 20:38:02 230

翻译 对象行为模式——观察者模式(Observer)

#include #include #include using namespace std;typedef int STATE;class Observer;class Subject;class Subject{public: Subject(){} void Notify(); void Attach(Observer *pObserver); void De

2012-05-30 20:31:09 260

翻译 对象行为模式——中介者模式(Mediator)

定义:用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。说明:1. Mediator 模式中,每个Colleague 维护一个 Mediator,当要进行通信时,每个具体的 Colleague 直接向ConcreteMediator 发信息,至于信息发到哪里,则由 ConcreteMediator 来决定。

2012-05-30 19:17:30 303

翻译 对象结构型——代理模式(Proxy)

意图:为其他对象提供一种代理以控制对这个对象的访问UML图:解析:某个对象知道它真正被使用的时候才被初始化,在没有用到的时候就暂时用Proxy作为占位符,适用:在需要用比较通用和复杂的对象指针代替简单的指针的时候,适用Proxy模式,如:远程代理,为一个对象在不同的地址空间提供局部代表,虚代理,根据需要创建开销很大的对象保护代理,控制对原始对象的访问,保护代

2012-05-30 19:03:23 421

转载 对象结构型——组合模式(Composite)

一、功能 表示“部分-整体”关系,并使用户以一致的方式使用单个对象和组合对象。二、结构图  上图中,也可以做些扩展,根据需要可以将Leaf和Composite做为抽象基类,从中派生出子类来。 三、优缺点  优点:对于Composite模式,也许人们一开始的注意力会集中在它是如何实现组合对象的。但Composite最重要之处在于用户并不关心是组合对象还是单个对象,用户将以

2012-05-30 17:53:13 261

转载 对象结构型——桥接模式(Bridge)

一、功能   将抽象部分与它的实现部分分离,使它们都可以独立地变化。 二、结构图#include using namespace std;class Implementor{public: virtual void OperationImp() = 0 ;} ;class ConcreteImplementorA : public Implementor{

2012-05-30 17:19:41 1987

转载 类/对象结构型模式——适配器模式(Apapter)

一、功能    将一个类的接口转换成客户希望的另外一个接口,解决两个已有接口之间不匹配的问题。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。    二、结构图    (1)class adapter     (2)object adapter#include using namespace std;class Target

2012-05-30 16:40:23 452

翻译 对象创建型——单件模式(Singleton)

#include using namespace std;class Singleton{public: static Singleton* Instance();protected: Singleton();private: static Singleton* _Instance;};Singleton::Singleton(){};Singlet

2012-05-30 14:54:09 261

原创 对象创建模式——抽象工厂(Abstract Factory)

#include using namespace std;class AbstractFactory;class ConcreteFactory1;class ConcreteFactory2;class AbstractProductA;class AbstractProductB;class ProductA1;class ProductA2;class ProductB1;

2012-05-30 11:13:30 429

原创 实现playfair(多字母替代密码)加密与解密程序

Playfair密码(英文:Playfair cipher 或 Playfair square)是一种替换密码,1854年由查尔斯·惠斯通(Charles Wheatstone)的英国人发明。经莱昂·普莱费尔提倡在英国军地和政府使用。   它有一些不太明显的特征:密文的字母数一定是偶数;任意两个同组的字母都不会相同,如果出现这种字符必是乱码和虚码。   它使用方便而且可以让

2012-03-12 21:28:24 12960

转载 在VS中配置OpenGL

VS2010glut下载地址:http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zipglut.h  ---> C:/Program Files (x86)/Microsoft SDKs/Windows/v7.0A/Include/glglut.dll,glut32.dll ---> C:/Windows/S

2012-03-10 15:29:32 608

转载 线程学习——Pthread

1. 线程的概念 我们知道,进程在各自独立的地址空间中运行,进程之间共享数据需要用mmap或者进程间通信机制,本节我们学习如何在一个进程的地址空间中执行多个线程。有些情况需要在一个进程中同时执行多个控制流程,这时候线程就派上了用场,比如实现一个图形界面的下载软件,一方面需要和用户交互,等待和处理用户的鼠标键盘事件,另一方面又需要同时下载多个文件,等待和处理从多个网络主机发来的数据,

2012-02-22 10:36:22 515

转载 ubuntu 安装OpenCV2.3

经历几次安装失败,不过最终成功安装opencv,现将自己的总结步骤与大家分享,共同进步!其中需要注意的地方会一一标注。Step 1:安装必要的依赖包  sudo apt-get install build-essential libgtk2.0-dev libjpeg62-dev libtiff4-dev libjasper-dev libopenexr-dev cmake pyt

2012-02-17 20:24:17 473

原创 启发式搜索——A*算法的实现

算法原理参考自 http://blog.csdn.net/mynamelj/article/details/3071867算法实现比较粗浅,但符合A*算法要求。#define MAX_SIZE 800#include #include #include #include #include using namespace std; struct tnode{

2012-02-17 16:32:02 455

空空如也

空空如也

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

TA关注的人

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