我在知乎上看到一个形象解释的例子:
个人理解: 将具体业务和底层逻辑解耦的组件。
大致的效果是: 需要利用服务的人(前端写业务的),不需要知道底层逻辑(提供服务的)的具体实现,只要拿着中间件结果来用就好了。
举个例子: 我开了一家炸鸡店(业务端),然而周边有太多屠鸡场(底层),为了成本我肯定想一个个比价,再综合质量挑选一家屠鸡场合作(适配不同底层逻辑)。由于市场变化,合作一段时间后,或许性价比最高的屠鸡场就不是我最开始选的了,我又要重新和另一家屠鸡场合作,进货方式、交易方式等等全都要重来一套(重新适配)。
然而我只想好好做炸鸡,有性价比高的肉送来就行。于是我找到了一个专门整合屠鸡场资源的第三方代理(中间件),跟他谈好价格和质量后(统一接口),从今天开始,我就只需要给代理钱,然后拿肉就行。代理负责保证肉的质量,至于如何根据实际性价比,选择不同的屠鸡场,那就是代理做的事了。
-------
这么多赞受宠若惊。其实原回答并不全面,最近在看 Redux,里面也有一个中间件(Middleware)的概念,和我的原答案并不完全一致,希望大家不要把我的回答当做标准答案,能有一些启发就好~
作者:Gocy 链接:https://www.zhihu.com/question/19730582/answer/140527549 来源:知乎
保持更新,转载请注明出处。如果您觉得对您有帮助,请点击右下角推荐。