C++完美实现Singleton模式[转]
摘要:Singleton模式是常用的设计模式之一,但是要实现一个真正实用的设计模式却也不是件容易的事情。1. 标准的实现class Singleton{public: static Singleton * Instance() { if( 0== _instance) { _instance = new Singleton; } return _instance; }protected: Sin...
阅读全文
posted @
2013-07-26 16:32
Chopper
阅读(400)
推荐(0)
Singleton -- template
摘要:template<CLASS T> class Singleton{public: static T& Instance() { static T theSingleInstance; //假?设?T有?一?个?protected默?认?构?造?函?数? return theSingleInstance; }};class OnlyOne : public Singleton&...
阅读全文
posted @
2010-05-03 23:04
Chopper
阅读(281)
推荐(0)
用template实现的Adapter
摘要:class Class1{public: Class1(int c) : m_count(c) { PRINT; } void proc() { PRINT; }private: int m_count;};class Class2{public: Class2(const string& name): m_name(name) { PRINT; } void proc() { PRINT...
阅读全文
posted @
2010-04-01 16:45
Chopper
阅读(243)
推荐(0)
设计模式 -- Singleton
摘要:Singleton.hSingleton.cpp
阅读全文
posted @
2010-04-01 11:29
Chopper
阅读(264)
推荐(0)
设计模式 -- Facade
摘要:Facade模式 Facade模式要求一个子系统的外部与其内部的通信必须通过一个统一的Facade对象进行。Facade模式提供一个高层次的接口,使得子系统更易于使用。 就如同医院的接待员一样,Facade模式的Facade类将客户端与子系统的内部复杂性分隔开,使得客户端只需要与Facade对象打交道,而不需要与子系统内部的很多对象打交道。观察者模式的结构Facade的几个要点 从客户程序的...
阅读全文
posted @
2010-03-21 19:19
Chopper
阅读(28713)
推荐(15)
设计模式 -- Observer
摘要:观察者(Observer)模式 观察者模式又叫做发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使它们能够自动更新自己。 一个软件系...
阅读全文
posted @
2010-03-21 08:24
Chopper
阅读(892)
推荐(0)
设计模式 -- Command
摘要:本文是多篇文章的整理命令模式意图: GOF 在《设计模式》一书中阐述其意图:“将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可取消的操作。”这里所谓的“不同的请求”也既意味着请求可能发生的变化,是一个可能扩展的功能点。命令模式UML图: Command模式将一个请求封装为一个...
阅读全文
posted @
2010-03-21 08:13
Chopper
阅读(656)
推荐(0)
设计模式 -- Composite
摘要:设计模式 -- Composite作用: 将对象组合成树形结构以表示“部分-整体”的层次结构。Composite使得用户对单个对象和组合对象的使用具有一致性。 UML结构图: 抽象基类: 1)Component:为组合中的对象声明接口,声明了类共有接口的缺省行为(如这里的Add,Remove,GetChild函数),声明一个接口函数可以访问Component的子组件。 接...
阅读全文
posted @
2010-03-21 07:38
Chopper
阅读(380)
推荐(0)