文档章节

Comnand模式

Ne0o0
 Ne0o0
发布于 2017/05/02 15:49
字数 105
阅读 11
收藏 0
//Comnand模式
class Command
{
public:
	Command(){}
	virtual ~Command() {}
	virtual void Execute() = 0;
};

class Receiver
{
public:
	Receiver(){}
	~Receiver(){}
	void Action(){printf("action!\n");}
};

class Invoker
{
public:
	Invoker(Command *pCommand){m_pCommand=pCommand;}
	~Invoker(){}
	void Invoke(){if(m_pCommand){m_pCommand->Execute();}}
private:
	Command *m_pCommand;
};

class ConcreateComand: public Command
{
public:
	ConcreateComand(Receiver* pReceiver):m_pReceiver(pReceiver){}
	~ConcreateComand(){}
	void Execute(){if(m_pReceiver)m_pReceiver->Action();}

private:
	Receiver* m_pReceiver;
};
//Comnand模式
int _tmain(int argc, _TCHAR* argv[])
{

	Receiver* pReceiver = new Receiver;
	Command*  pCommand  = new ConcreateComand(pReceiver);
	Invoker*  pInvoker  = new Invoker(pCommand);
	pInvoker->Invoke();
	delete pInvoker;
	delete pCommand;
	delete pReceiver;
	getchar();
	return 0;
}

© 著作权归作者所有

上一篇: Observer 模式
下一篇: FlyWeight模式
Ne0o0
粉丝 2
博文 70
码字总数 29011
作品 0
程序员
私信 提问
记5.28大促压测的性能优化—线程池相关问题

目录: 1.环境介绍 2.症状 3.诊断 4.结论 5.解决 6.对比java实现 废话就不多说了,本文分享下博主在5.28大促压测期间解决的一个性能问题,觉得这个还是比较有意思的,值得总结拿出来分享下。...

王清培
2017/06/04
0
0
一句话总结23种设计模式则

1. 前言 断断续续写了一段时间的设计模式,终于把经典的23种设计模式全写完了。下面对这些设计模式总结一下。 2. 设计原则 设计原则的介绍 : 设计模式的六大原则 即使我们之前没有专门看过这...

四月葡萄
2018/01/05
0
0
Android的设计模式-桥接模式

前言 Android的设计模式系列文章介绍,欢迎关注,持续更新中: Android的设计模式-设计模式的六大原则 一句话总结23种设计模式则 创建型模式: Android的设计模式-单例模式 Android的设计模式...

四月葡萄
2018/01/05
0
0
Android的设计模式-享元模式

前言 Android的设计模式系列文章介绍,欢迎关注,持续更新中: Android的设计模式-设计模式的六大原则 一句话总结23种设计模式则 创建型模式: Android的设计模式-单例模式 Android的设计模式...

四月葡萄
2018/01/04
0
0
使用 Python 实现设计模式的集合--python-patterns

python-patterns是使用Python实现设计模式的集合。设计模式(Design Patterns)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码...

匿名
2017/03/07
457
0

没有更多内容

加载失败,请刷新页面

加载更多

关于AsyncTask的onPostExcute方法是否会在Activity重建过程中调用的问题

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/XG1057415595/article/details/86774575 假设下面一种情况...

shzwork
今天
6
0
object 类中有哪些方法?

getClass(): 获取运行时类的对象 equals():判断其他对象是否与此对象相等 hashcode():返回该对象的哈希码值 toString():返回该对象的字符串表示 clone(): 创建并返此对象的一个副本 wait...

happywe
今天
6
0
Docker容器实战(七) - 容器中进程视野下的文件系统

前两文中,讲了Linux容器最基础的两种技术 Namespace 作用是“隔离”,它让应用进程只能看到该Namespace内的“世界” Cgroups 作用是“限制”,它给这个“世界”围上了一圈看不见的墙 这么一...

JavaEdge
今天
8
0
文件访问和共享的方法介绍

在上一篇文章中,你了解到文件有三个不同的权限集。拥有该文件的用户有一个集合,拥有该文件的组的成员有一个集合,然后最终一个集合适用于其他所有人。在长列表(ls -l)中这些权限使用符号...

老孟的Linux私房菜
今天
7
0
面试套路题目

作者:抱紧超越小姐姐 链接:https://www.nowcoder.com/discuss/309292?type=3 来源:牛客网 面试时候的潜台词 抱紧超越小姐姐 编辑于 2019-10-15 16:14:56APP内打开赞 3 | 收藏 4 | 回复24 ...

MtrS
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部