Northbound Interface/Southbound Interface 在接需求的时候,发现了北向接口和南向接口这两个名词,本着学习的心态,分享给大家
官方定义
A northbound interface is an interface that conceptualizes lower level details. It interfaces to higher level layers and is normally drawn at the top of an architectural overview.
北向接口是指,一个较低层次的接口连接更高层的层接口,通常绘制在体系结构概述的顶部。
A southbound interface decomposes concepts in the technical details, mostly specific to a single component of the architecture. Southbound interfaces are drawn at the bottom of an architectural overview.
南向接口是指,偏重技术细节,主要是特定于架构的单个组件。通常绘制在体系结构概述的底部。
如果把组件分为高和低组件:
Northbound interfaces normally talk to southbound interfaces of higher level components and vice versa.
低级组件的北向接口通常与高级组件的南向接口接口通信,反之亦然。
命名由来
北向接口因处于架构图的顶部而得名,南向接口则因处于架构图的底部而得名,地图中上北下南;
简图解释
南北向接口只是针对某个组件来说的,向下的接口称为南向,向上的接口称为北向。
例如在Spring项目中,View对Controller层就是北向接口,Controller对Service层就是南向接口,而Service对mapper层又是北向接口,mapper层对数据库层又是北向接口。
南北向接口说的其实是一种概念,在不同的模式中都可以使用。 也可以这样理解: 南向接口:管理其他厂家网管或设备的接口,即向下提供的接口。 北向接口:提供给其他厂家或运营商进行接入和管理的接口, 即向上提供的接口。
另外还有东西向的接口,就是两个controller之间的交互
我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=35igu3ebe04kg