简明CallBack 教程

来源:互联网 发布:崩坏学园2淘宝初始号 编辑:程序博客网 时间:2024/05/16 06:31

模块间的通信机制是架构学习的重点, 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.  回调设计模式

原创粉丝点击