分层架构中回调函数的使用
分层架构
分层架构将系统划分为多个组,每个组包含用于解决特定问题领域的代码,这些组被称为层。
大多数企业级应用程序都具有一个三层高级应用程序架构。
- 表示层
- 业务层
- 持久层
什么是回调函数?
在计算机编程中,回调函数,有时也称为“调用后”函数,是作为参数传递给其他代码的任何可执行代码,期望其他代码在特定时间回调用(执行)输入。此执行可以立即发生,如同步回调,也可以稍后发生,如异步回调。
回调函数在编程语言中以多种方式实现,其中最常见的是子例程、lambda 表达式、块和函数指针。
分层架构中回调函数的使用
上层旨在使事物更易于使用(例如 SDK),而下层是与网络(对于基于网络的项目)或系统级调用(对于基于操作系统的项目)交互的实际层。
因此,我们可以直接从上层源文件调用下层中定义(和声明)的函数,并通过函数参数提供数据。但是,我们不能简单地从下层函数调用上层函数,因为这会导致循环依赖。因此,回调函数应运而生。
假设**upperlayer.c**和**lowerlayer.c**分别是上层和下层源文件。**lowerlayer.h**是**lowerlayer.c**的头文件。
**notify_observer()**的函数引用作为**upperlayer.c**中注册回调的参数传递给**lowerlayer.c**。
在下层,这被称为注册回调函数。下层现在知道**notify_observer**函数引用。
register **callback()**函数只是将函数引用保存在全局函数指针**g_notify_ob**中,允许任何文件函数调用**notify_observer()**。
当底层需要向高层传递数据时,它只需通过调用**g_notify_ob()**来调用**notify_observer()**。
广告