一个很酷的事件处理简单模型
来源:互联网 发布:java 写入日志 编辑:程序博客网 时间:2024/06/05 09:06
表示是原创啊,但是是在总结了各路大婶知识的基础上:
#include <iostream>#include <memory>using namespace std;class AbstractEvent{public:virtual char* Event(char* apMsg)=0;};class AbstractMsgHandler{public:virtual void Handler(char* apAnswer)=0;};class MsgSender{public:MsgSender(AbstractEvent* apSubscribeEvent,AbstractMsgHandler* apMsgHandler): m_pSubscribeEvent(apSubscribeEvent),m_pMsgHandler(apMsgHandler) { }void SendMsg(char* apMsg){char* lpAnswer = m_pSubscribeEvent->Event(apMsg);m_pMsgHandler->Handler(lpAnswer);}private:AbstractEvent* m_pSubscribeEvent;AbstractMsgHandler* m_pMsgHandler;};class ConcreteEvent:public AbstractEvent{public:char* Event(char* apMsg){return apMsg;}};class ConcreteMsgHandler:public AbstractMsgHandler{void Handler(char* apAnswer){std::cout << apAnswer << std::endl;}};int main(){std::auto_ptr<AbstractEvent> lpAbstractEvent(new ConcreteEvent());std::auto_ptr<AbstractMsgHandler> lpAbstractMsgHandler(new ConcreteMsgHandler());std::auto_ptr<MsgSender> lpMsgSender(new MsgSender(lpAbstractEvent.get(),lpAbstractMsgHandler.get()));char* lpMsg = "123";lpMsgSender->SendMsg(lpMsg);return 0;}
欢迎大家提建议。
- 一个很酷的事件处理简单模型
- 一个简单的c++/cli中委托与事件的处理模型
- 一个简单的事件处理程序
- C#事件演示程序1)——一个最简单的C#事件处理程序
- 简单的事件处理程序
- 文本框的简单事件处理
- SAX是一个用于处理XML事件驱动的“推”模型
- 一个简单的对象模型
- 一个简单的对象模型
- 基于监听接口的事件处理模型
- Android事件处理的两种模型
- Android事件处理的两种模型
- Android事件处理的两种模型
- Android事件处理的两种模型
- Android事件处理的两种模型
- Android事件处理的两种模型
- Android事件处理的两种模型
- JS 事件处理模型
- 正则表达式
- android中ImageView、ImageButton、Button之间的区别
- js判断数字,字母,中文
- Hibernate 基础
- linux用户管理 /拥有着更改/权限改变
- 一个很酷的事件处理简单模型
- 常用正则表达式
- 在eclipse中如何在大量项目中查找指定文件
- boost asio程序优雅的退出 一
- PKU 1195 二维树状数组
- 如何利用你的知识来赚老外的钱!
- NYOJ-56:阶乘因式分解(一)
- 正确认识java JVM与c的执行效率
- 天天记录 - Dos设置参数与判断值是否为空