Java教程

程序员如何快速掌握一个知识点——以中间件为例

本文主要是介绍程序员如何快速掌握一个知识点——以中间件为例,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

面试官:老铁,说说中间件是什么? 求职者:嗯,,额,,,中间件好像是,,,一种连接redis用的东西,,嗯……平时老用,有点说不出来,不好意思。 面试官:紧张了,老铁? 求职者:也不是,平时真的经常用,就是说不出来。 面试官:对原理理解不到位哦 求职者:.....


神奇吧? 平时老用,关键时刻说不出来。 类似的问题还有:来和我说说jvm是什么?java是什么?内存回收是什么?微服务是什么?SDK是什么?library和framework有啥区别?组件化是什么?……

求职者:能不能不要考概念,问我做过的东西好么?崩溃!

言归正传,我们讨论下如何快速掌握一个知识点然后马上可以和面试官拽一拽,其实就是走个流程。


第一步:找到定义

找定义最好上维基百科,大家看到维基百科的定义是:是一类提供系统软件和应用软件之间连接、便于软件各部件之间的沟通的软体,应用软件可以借助中间件在不同的技术架构之间共享信息与资源。


第二步:定义拆解

把定义抄到一张纸上

中间件是一类提供系统软件和应用软件之间连接、便于软件各部件之间的沟通的软体,应用软件可以借助中间件在不同的技术架构之间共享信息与资源。

从定义中我们看到

1) 中间件是一类软体(软体就是软件咯 software)

2) 应用软件借助中间件共享信息和资源。

3)   中间件提供系统软件和应用软件之间的连接

4) 中间件便于软件各部件之间的沟通

5) 不同的技术架构之间可以利用中间件共享信息资源


第三步:找到生活中的例子-向定义映射

互联网上有很多人讲中间件,会用生活中的例子。可以在知乎搜一下。

点进去看到 @Gocy 大佬的回答,开炸鸡店的例子,然后发现中间件实际上是中间代理商。

模型映射

  • 提供鸡肉的代理商是一类软件

  • 你的炸鸡店也是一类软件

  • 屠宰场是一类软件

  • 屠宰场是系统软件,炸鸡店是应用软件(映射定义)

深层映射

  • 炸鸡店(应用软件)利用提供鸡肉的代理商(中间件)共享信息和资源(例如:发布求购单)

  • 多个屠宰场(不同系统架构)利用代理商(中间件)共享信息和资源(例如:向炸鸡店供货)

第四步:找到真实场景

搜索百度图片,中间件。


第一张图:

第二张图:

第一张图,用户的请求到了网关后,由中间件向用户提供「QA服务」「一卡通服务」「电子商务服务」。继续往定义上套:这些服务通过中间件向网关共享信息和资源。第二张图数据库中间件向应用服务器共享是信息和资源。继续套:当「数据库中间件」背后的底层(屠宰场)变化的时候,应用服务器无感知,每次数据库中间件给应用服务器提供最好的信息和资源。


第五部:Coding场景

知识到上面这种程度,不能算学会,记住:“Talk is cheap , show me the code”,一定要实践。

下面找到一个阿里云请求kafka中间件sdk的示例,就知道大神门是怎么封装中间件啦。


第六步:用自己的语言说出来

比如:中间件和代理商有点相似,中间件一方面集中了自己背后最优质的信息和资源,一方面向自己的用户(也就是应用程序)提供这些资源,这种情况是数据库中间件;另一方面,应用程序之间也可以通过代理商共享信息和资源,这种情况是消息队列。无论哪种情况,中间件让应用程序不再需要理解底层,这样提高了整个系统的可用性和服务质量。

总结

怎么样?懂么嘛? 学习就是一个流程,每个知识点都走一遍,你就不怕面试啦。


点击查看更多内容
这篇关于程序员如何快速掌握一个知识点——以中间件为例的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!