在軟件工程中,沒有一個中間層解決不了的問題

大學(xué)的時候無意看到這么一句話,宛如醍醐灌頂,以前恍惚中寫下的代碼瞬間清晰了起來。

這句話包含兩個要素,一個是軟件工程,一個是中間層

什么是軟件工程?在我看來需要寫代碼的或多或少都有軟件工程的要素。

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

而類似于登月計劃、強子對撞、基因模擬這類規(guī)模非常龐大的項目,軟件工程只是其中一個小塊,但也可以用中間層來解決問題

于是中間層又是什么呢?我總結(jié)為連接兩個事物的事物。

比如兩個模塊A和B,之間數(shù)據(jù)結(jié)構(gòu)不互通,一個接收json,一個接收protobuf,這時候就需要一個模塊C,將A的json轉(zhuǎn)為protobuf傳給B,將B的protobuf轉(zhuǎn)為json傳給A。

而模塊B就可看作一個中間層

再往大了看,一個http請求,是將服務(wù)器里的數(shù)據(jù)與顯示器相連接,兩者之間本身是不能互通的,請求經(jīng)過了用戶區(qū)、內(nèi)核區(qū)、網(wǎng)卡、網(wǎng)線、交換機、路由器、nginx、應(yīng)用服務(wù)器、數(shù)據(jù)庫驅(qū)動等等中間層才訪問到了數(shù)據(jù)庫,然后再一層一層的將數(shù)據(jù)返回到顯示器。

再往大了看,你看上一個妹子的時候,是不是通??嘤趯γ米右粺o所知,無從下手,于是先找個你和妹子都認識的中間層來溝通傳遞消息?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容