作业三:深入理解Callback函数

Callback函数是作为参数传递给其他函数并在特定事件后被调用的函数,常用于异步操作以避免程序阻塞。文章通过《代码中的软件工程》第六章的实验,阐述了Callback的工作机制,展示了如何通过参数实现解耦合,强调了在接口设计中的抽象分层对于程序灵活性的重要性。同时,文章指出了Callback的优缺点,如提高灵活性但可能导致回调地狱问题。
摘要由CSDN通过智能技术生成

@105 作业三:深入理解Callback函数

实验目标

参考《代码中的软件工程》第六章可复用软件设计及lab5.2的源代码,完成实验,总结Callback函数的工作机制以及通过参数进行解耦合的方法,深入理解接口设计中的抽象分层。

Callback函数

什么是Callback函数

回调函数是一个函数,形式上和其他函数一样,函数名和参数。回调函数自身会被当做参数传递给另一个函数,被其调用。这个作为参数的函数,就叫回调函数。

callback函数机制通常用于异步编程中。在异步编程中,在等待操作完成的同时,我们可以继续执行其他代码,以避免程序被阻塞。当等待操作完成后,使用callback函数机制来通知程序,以便程序可以在操作完成后执行相应的代码。

具体代码

Condition函数
AddLinkTableNode
DelLinkTableNode
在Condition中,参数…(tLinkTableNode * pNode, void * args),callback

在AddLinkTableNode和DelLinkTableNode函数中,代码块是原子的,可以用来实现异步编程

代码思路

1.args 指针强转为 char 类型的指针,赋值给 cmd 指针; pLinkTableNode 指针强转为 tDataNode 类型的指针,赋值给 pNode 指针
2.调用 strcmp 函数,传入 pNode->cmd 和 cmd 两个字符串指针,得到返回值
3.返回值为 0,表示两个字符串相等,就返回 success;否则返回failure

总结

callback优缺点

优点:

1.增加程序的灵活性和解耦性
2.处理异步操作

缺点:

1.嵌套过多的回调函数,导致代码难以阅读和维护
2.不能直接返回return

实验总结

callback就是不同程序模块之间的接口和约定,是软件分层设计的基本方式。它实现了调用者和被调用者的解耦,增加了程序设计的灵活性。当需要的时候只需要通过约定好的接口。在C语言中,callback是用指针函数实现的。通过本次实验,我对回调函数有了更深入的理解和掌握,也提高了我的编程能力和思维方式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值