编程学习编程编程资源

在软件工程中,没有一个中间层解决不了的问题

2016-12-24  本文已影响564人  青之民

大学的时候无意看到这么一句话,宛如醍醐灌顶,以前恍惚中写下的代码瞬间清晰了起来。

这句话包含两个要素,一个是软件工程,一个是中间层

什么是软件工程?在我看来需要写代码的或多或少都有软件工程的要素。

小到hello world,大到搜索引擎,都是软件工程。

而类似于登月计划、强子对撞、基因模拟这类规模非常庞大的项目,软件工程只是其中一个小块,但也可以用中间层来解决问题

于是中间层又是什么呢?我总结为连接两个事物的事物。

比如两个模块A和B,之间数据结构不互通,一个接收json,一个接收protobuf,这时候就需要一个模块C,将A的json转为protobuf传给B,将B的protobuf转为json传给A。

而模块B就可看作一个中间层

再往大了看,一个http请求,是将服务器里的数据与显示器相连接,两者之间本身是不能互通的,请求经过了用户区、内核区、网卡、网线、交换机、路由器、nginx、应用服务器、数据库驱动等等中间层才访问到了数据库,然后再一层一层的将数据返回到显示器。

再往大了看,你看上一个妹子的时候,是不是通常苦于对妹子一无所知,无从下手,于是先找个你和妹子都认识的中间层来沟通传递消息?

上一篇 下一篇

猜你喜欢

热点阅读