Thrift RPC 系列教程(3)——模块化
為什么需要模塊化
所謂『模塊化』,是一種很自然的事情,體現了『分而治之』的思想。
坦白來說,這是一個無需過多討論的話題。如果你寫過C 語言,就會對它那『近乎平坦』的命名空間,感到熟悉。所有的函數,變量都在同一個全局命名空間(static 類型的除外,事實上,static 函數,是C語言中少數的模塊化手段之一)。如果你 include一個東西,你都不知道你在干嘛,you know nothing。比如:
#include <stdio.h> #include <stdlib.h>有時候我也許能記得 printf 在 stdio里面,但大部分時候我的記性不怎么好,也不愛記憶這種東西。
而且,為了防止命名沖突,大部分時候,我們都要給我們的函數,加各種命名前綴,比如,寫一個鏈表實現的時候,會出現諸如List_Add(List* l, void* item) List_Remove(List* l, void* item) 這樣的東西。這和上古時代的『匈牙利命名法則』(感興趣的朋友,可以百科搜索一下),何其相似,各種無聊的 btn 前綴,不明覺厲的變量命名。
關鍵是,在比較現代化的編程語言中,或者比較現代化的編程IDE中,偶爾能看到這樣的命名風格,這時讓人有一種莫名的,穿越上的喜感。
Thrift中的模塊化
幸好,Thrift 雖然借用了 include 這個關鍵字,但是沒有搞成 C 語言那樣(也許用 import 是更好的選擇?)。用法如下:
// 導入一個模塊,模塊的訪問空間,就是文件名 // 這里及其明確清醒,甚至需要寫清楚文件名后綴 include "shared.thrift"// 使用 // 必須要加命名空間前綴,否則訪問不到對應的要素 service Calculator extends shared.SharedService {}和這個使用感覺,最相同的,就是 Go 語言了,既簡單又明確。
總結
以上是生活随笔為你收集整理的Thrift RPC 系列教程(3)——模块化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【跃迁之路】【636天】程序员高效学习方
- 下一篇: 在mac上命令行里面如何打开文本编辑器?