大学的时候无意看到这么一句话,宛如醍醐灌顶,以前恍惚中写下的代码瞬间清晰了起来。
这句话包含两个要素,一个是软件工程,一个是中间层
什么是软件工程?在我看来需要写代码的或多或少都有软件工程的要素。
小到hello world,大到搜索引擎,都是软件工程。
而类似于登月计划、强子对撞、基因模拟这类规模非常庞大的项目,软件工程只是其中一个小块,但也可以用中间层来解决问题
于是中间层又是什么呢?我总结为连接两个事物的事物。
比如两个模块A和B,之间数据结构不互通,一个接收json,一个接收protobuf,这时候就需要一个模块C,将A的json转为protobuf传给B,将B的protobuf转为json传给A。
而模块B就可看作一个中间层
再往大了看,你看上一个妹子的时候,是不是通常苦于对妹子一无所知,无从下手,于是先找个你和妹子都认识的中间层来沟通传递消息?