简明CallBack 教程

模块间的通信机制是架构学习的重点, Call-back的应用无疑是最常见的, 由此引申出来的设计模式也非常之多, 如观察者模式, 这篇文章无疑是非常浅显的, 做这个总结, 也是为了将来引出工作中用到的Event配信机制. 后面涉及到通信的文章将会一起串烧.
Callback的目的是用来1 V N系统, 即一个系统要负责和N个子系统进行动作或者消息的交互. 目的是为了方便系统的维护.

 

第一部分 : 简单的 CallBack 机制

什么是 CallBack

字面含义 , 本来是往前调用的 , 结果又调回头去调用另外的东西。

引申 ==== 本来把参数传给某个函数,让函数执行 ( 向前执行 ), 结果这个函数却跑过去调用参数 ( 向后调用 ). 这里的参数可以是函数指针 , 对象的方法等 .

CallBack 现实的意义

如果操作是 1 v 1 . 那么无需 CallBack, 我们直接将动作或者消息传递给对方就可以了 . 考虑到 1 v N 的系统 , 显然不容易维护 ( N 变成 N+M) 的时候 , 去一一配送动作,显然是不合适的。以家庭电力系统为例 , 电源要服务电视机,冰箱,洗衣机这么多受众 , 每个家电都按自己的标准行事 . 这样将很难调整他们的位置 . 房屋装修的工人,也不知道哪里放置一个插座。

 

CallBack 实质,统一标准规则下,充分实现个体的个性化 .

 

比如,以上面的家庭电源系统为例

统一的规则是 : 三角插座 .

个性化体现是 : 电冰箱应用 , 电风扇应用,电脑应用 , 电视机应用等 .

带来的优点 :   能在电源系统下,运营所有的电子产品 , 如图 :

 

 

 

介绍下代码如何实现 CallBack:


1. 利用函数指针实现的 CallBack 机制

 

 

 

 

 

 

 

 


 

 

 

 

 

 

2. 利用继承关系实现的回调机制 .

 

 


第二部分 : CallBack 和线程进程

 

 

 

附参考文献:


1.  回调设计模式

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值