没有合适的资源?快使用搜索试试~ 我知道了~
这是一个观察者模式的简化实现,有助于代码的解耦。 * 你可以预先定义一些事件,事件的定义使用OBSERVER_EVENT宏: * OBSERVER_EVENT( Name, <Params> ) * Name 是事件的名称 * Params 是参数表 * 比如 * OBSERVER_EVENT( MyEvent, int, std::string, long ) * * 有必要的时候,就可以将一个回调函数绑定到这个事件(订阅) * observer a; * a.subscribe<Name>( Handle ); * Name 是事件的名称 * Handle 是回调函数,它的参数,应该和事件的参数表匹配 * 当然也可以撤销订阅 * a.unsubscribe<Name>(); * * 当事件发生时,可以通过 observer 对象来发送事件 * a.shot<Name>( <Params> ); * * 这个对象可以作为基类使用,以帮助对象解耦,这样设计的优点在于,事件的定义、回调的参数表 * 必须严格匹配,否则就会发生编译错误,以防止代码错误。 * 特别的,参数可以定义为引用类型,以便让回调函数可以修改它,这时发送事件时,要注意使用 ref() 来包装参数。
资源推荐
资源评论
资源评论
yine
- 粉丝: 192
- 资源: 9
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功