设计模式
进击的横打
此人不懒,但也什么都没有写
展开
-
Command模式
将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作。 // Study.cpp : コンソール アプリケーションのエントリ ポイントを定義します。//#include "stdafx.h"class Apple...{public: void NamePut() ...{ puts( "これは「リ原创 2008-01-29 17:33:00 · 1149 阅读 · 0 评论 -
State模式
State模式主要解决的是在开发中时常遇到的根据不同 的状态需要进行不同的处理操作的问题,而这样的问题,大部分人是采用switch-case语句进行处理的,这样会造成一个问题:分支过多,而且如果加入 一个新的状态就需要对原来的代码进行编译.State模式采用了对这些不同的状态进行封装的方式处理这类问题,当状态改变的时候进行处理然后再切换到另一 种状态,也就是说把状态的切换责任交给了具体的状态类去负转载 2007-12-10 17:52:00 · 785 阅读 · 0 评论 -
再谈State
前一篇文章中,设计了一个关于指挥灯的工作流程,采用的是 State 模式,但 Red,Green, Blue 三种状态反复的转换,每转换一次,则重新动态生成一种新的状态,浪费了大量的时间和空间。因此,在 ControlMachine 类中提前将三种状态生成,每需要生成一种新的状态时候,只需要引用提前生成的状态即可。ControlMachine.h 源文件如下:#ifndef _CONTRO转载 2007-12-10 17:54:00 · 775 阅读 · 0 评论 -
Singleton
CSingleton * CSingleton ::m_pRemainder = NULL;CSingleton * CSingleton ::Instance(void)...{ if (m_pSingleton == NULL)...{ m_pSingleton= new CSingleton (); } return m_pSingleton;}原创 2007-12-19 20:50:00 · 885 阅读 · 0 评论 -
追MM设计模式.大家都转载的东东
创建型模式1、FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建转载 2008-01-03 17:17:00 · 950 阅读 · 0 评论