设计模式
pengshupan
计算机图形学,C++菜鸟
展开
-
设计模式之Proxy模式(代理模式)
代理模式很容易理解,就是代理,打个比方,我们需要买水果,一般是去超市或者水果店买水果,很少有人去果园买水果,果园是生成水果的地方,但很少出售水果,这里,水果店,超市就成了代理。原创 2016-05-11 09:53:23 · 791 阅读 · 0 评论 -
设计模式之Singleton模式(单例模式)
单例模式在实际编程中可以说是用到的最广泛的设计模式,在实际编程的过程中,我们对某些资源往往要求只能有一个实例,打个比方,在做C#开发时,每一个界面就是一个对象,对于这些窗体对象的操作,一般就是打开的窗体,对于窗体对象的操作就是单例模式的具体使用。单例模式其实就3点,(1)构造函数私有 (2)指向类的静态指针变量私有 (3)获取静态指针变量的公有函数1.定义单例类#pragma once原创 2016-05-12 09:45:58 · 349 阅读 · 0 评论 -
设计模式之Strategy模式(策略模式)
在介绍策略模式之前,我们先来看看多态性。首先定义个父类,定义了所有的函数假设父类名为CStrategy#pragma onceclass CStrategy{public: CStrategy(void); virtual ~CStrategy(void); virtual void Operation()=0;};#include "Strategy.h"CSt原创 2016-05-05 15:25:41 · 349 阅读 · 0 评论 -
设计模式之Facade模式(外观模式)
Facade模式(外观模式),为子系统中的一组接口提供一个一致的界面,定义一个高层接口,这个接口使得这一子系统更加容易使用。 我们通过外观的包装,使应用程序只能看到外观对象,而不会看到具体的细节对象,这样无疑会降低应用程序的复杂度,并且提高了程序的可维护性。打个比方,我们去吃饭,要了一份西红柿炒鸡蛋,我们只关心最后西红柿炒鸡蛋能够端上了,并不关心具体怎么做的,比如洗西红柿,切西红柿,拌开鸡蛋,炒西原创 2016-04-22 10:17:52 · 476 阅读 · 0 评论 -
设计模式之Static Factory模式(简单工厂模式)
简单工厂模式并不是GOF提出的23种设计模式中的一种。工厂模式有一种非常形象的描述,建立对象的类就如一个工厂,而需要被建立的对象就是一个个产品。适用场合1.在程序中,需要创建的对象很多,导致对象的new操作多且杂时,需要使用简单工厂模式;2.由于对象的创建过程是我们不需要去关心的,而我们注重的是对象的实际操作,所以,我们需要分离对象的创建和操作两部分,如此,方便后期的程序扩展和维护。原创 2016-06-02 10:42:35 · 901 阅读 · 0 评论 -
设计模式之Template Method模式(模板方法模式)
模板方法模式总结起来就是灵活运用C++的多态性,灵活运用普通函数,虚函数,纯虚函数的组合,打个比方,每个人每天的生活都不一样,老师要上课,学生要学习,程序员要编程,但是每个人都需要吃饭与休息,这样我们就可以吧吃饭与休息抽出了,在父类里面强制实现,不同的部分放在子类里面具体实现。在这里为了方便,就把函数的实现写在类里面了,就没有单独写在cpp文件里面了。1.定义公共功能的实现,无论学生,老师原创 2016-06-02 13:46:41 · 431 阅读 · 0 评论