当前位置: 首页 > news >正文

涞水县建设局网站六盘水市诚信网站建设公司

涞水县建设局网站,六盘水市诚信网站建设公司,微信官方网站 - 百度-百度,给几个那方面网站网址事件聚合器#xff08;Event Aggregator#xff09;允许不同的组件订阅和发布事件#xff0c;而不需要知道事件的发布者和订阅者是谁#xff0c;模块可在不直接相互引用的情况下通信#xff0c;实现模块间的松耦合。事件聚合器常用于C#语言中#xff0c;以下为C语言的简单…事件聚合器Event Aggregator允许不同的组件订阅和发布事件而不需要知道事件的发布者和订阅者是谁模块可在不直接相互引用的情况下通信实现模块间的松耦合。事件聚合器常用于C#语言中以下为C语言的简单实现。 C事件聚合器的实现 #pragma once #include map #include functional #include vector #include iostreamclass EventBase { };templatetypename TEventArg class PubSubEvent : public EventBase { public:void Sub(std::functionvoid(TEventArg*) action){actions.push_back(action);}void Pub(TEventArg* arg){for (auto action : actions){action(arg);}}private:std::vectorstd::functionvoid(TEventArg*) actions; };class EventAggregator { public:templatetypename Tstatic T* GetEvent(){auto name typeid(T).raw_name();auto itor events.find(name);if (itor ! events.end()){return static_castT*(itor-second);}else{events[name] new T();return static_castT*(events[name]);}}private:static std::mapconst char*, EventBase* events; };std::mapconst char*, EventBase* EventAggregator::events; Demo #include iostream #include EventAggregator.hclass TestEventArg { public:TestEventArg(std::string name){this-name name;}public:std::string name; };class TestEvent : public PubSubEventTestEventArg {};class TestClass { public:void DoEvent(TestEventArg* arg){std::cout TestClass : arg-name std::endl;} };void test(TestEventArg* arg) {std::cout arg-name std::endl; }int main() {TestClass testClass;EventAggregator::GetEventTestEvent()-Sub(test);EventAggregator::GetEventTestEvent()-Sub(std::bind(TestClass::DoEvent, testClass, std::placeholders::_1));EventAggregator::GetEventTestEvent()-Pub(new TestEventArg(hello));EventAggregator::GetEventTestEvent()-Pub(new TestEventArg(world)); }
http://www.pierceye.com/news/110213/

相关文章:

  • 瑞安网站网站建设松原公司做网站的流程
  • 做网站按页面收费视频解析网站如何做搜索
  • 太原网站的公司赣州安全教育平台
  • 淮北建投网站网站推广与维护有什么不同
  • 深圳网站备案注销平果县免费网站哪家好
  • 如何区分网站开发语言做网站多少钱一般
  • 定制专业app开发seo数据统计分析工具有哪些
  • 某服装公司网站建设论文网站建设seo虾哥网络
  • 网站建设销售员工作内容网站访问量过大
  • 企业网站加快企业信息化建设设计网站名称
  • 做网站的技术要求高吗农业推广专业
  • 在百度做个卷闸门网站怎么做成都高端网站
  • 个人网站备案名称填写货运网站建设公司
  • 有网页源码 怎么做网站外链发布软件
  • 医疗网站建设基本流程wordpress速度加快
  • 网站建设优化开发公司哪家好泰州东方医院男科
  • 怎么自己做歌曲网站大连网站制作公司费用多少
  • 网站专题设计稿用vue做商城网站常用的js
  • 怎么在免费空间里面做网站深圳英文站seo
  • 学风建设网站版块如何用visual studio做网站
  • 山东响应式网站设置字体颜色的网站
  • 美容院网站建设西安有关做网站的公司有哪些
  • 湛江做网站设计公司网络推广网站培训班
  • 大型网站建立萝岗微信网站建设
  • 门户网站建设发展趋势官网网站怎么创建
  • 企业网站如何做自然搜索phpcms 网站转移
  • 站内优化怎么做建设设计网站
  • 如何建设机器人教育网站上海有名的网络公司
  • 网站二级目录做网站淄博网站建设 很乱
  • 常州做网站企业海口网站开发建设