知识卡片

回调让低层安全通信高层

普通读书笔记卡 · 1958.n.3

内容

分层风格的基本约束是”上层可用下层,下层不能用上层”(每层对上层像虚拟机),但现实中低层经常要向高层报告状态(如核心模块向UI层报告任务进度)。回调机制能在不违反依赖方向的前提下做到这点:核心层定义回调接口,UI层实现该接口并把自己传给核心层,核心层调用回调接口通知状态——核心层自始至终不知道也不依赖UI层,只依赖自己定义的接口。这比直接违反分层约束安全得多。

参考来源

- 位置:《恰如其分的软件架构》第14章《架构风格》14.6节《分层风格》(源文件:_epub-src/OEBPS/text00147.html) - 结论依据:原文说明用户界面层与核心功能层之间可通过核心层定义回调接口、UI层实现该接口的方式通信,核心层不知道也不依赖UI层,从而在不破坏分层依赖方向的前提下实现低层向高层的安全通信。 - 原始内容:如果使用了回调机制,低层可以与高层进行安全的通信……核心模块可以定义一个回调接口,用于报告任务的状态……由于UI层实现了一个由核心层定义的回调接口,因此核心层不知道UI层,也不依赖于UI层。