分层架构中回调函数的使用


分层架构

分层架构将系统划分为多个组,每个组包含用于解决特定问题领域的代码,这些组被称为层。

大多数企业级应用程序都具有一个三层高级应用程序架构。

  • 表示层
  • 业务层
  • 持久层

什么是回调函数?

在计算机编程中,回调函数,有时也称为“调用后”函数,是作为参数传递给其他代码的任何可执行代码,期望其他代码在特定时间回调用(执行)输入。此执行可以立即发生,如同步回调,也可以稍后发生,如异步回调。

回调函数在编程语言中以多种方式实现,其中最常见的是子例程、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()**。

更新于: 2021年10月28日

344 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告