中间件
中间件是一个比较宽泛的概念,谈到web相关的中间件时,归根结底的问题是 服务端设计的接口究竟是面向 UI 还是只是通用服务?
BFF 的提出
BFF被称为黏合层,即适配UI变化的一层,后端的服务都是通用且独立解耦的,黏合层的作用是合并处理整合UI所需要的数据。
基于 GraphQL 技术的通用中间层网关,也是刚刚出现一种很不错的方案。
参考: 什么是中间件?
讲到这里我们其实应该将它与模块和插件结合起来理解。
插件不是一个程序必备的,没有它程序依然可以运行;模块就是我们通过require
引入的内容;中间件是一个应用程序必须的部分,这让我联想到gulp和stream里的pipe()
,要得到最终的数据必须经过中间件一层一层处理加工。
如果在项目层面来思考中间件,它更像是连接不同端的中间一层,比如业务数据的处理等。