Thrift RPC 系列教程(3)——模块化

栏目: 服务器 · 发布时间: 5年前

内容简介:所谓『模块化』,是一种很自然的事情,体现了『分而治之』的思想。坦白来说,这是一个无需过多讨论的话题。如果你写过C 语言,就会对它那『近乎平坦』的命名空间,感到熟悉。所有的函数,变量都在同一个全局命名空间(static 类型的除外,事实上,static 函数,是C语言中少数的模块化手段之一)。如果你 include一个东西,你都不知道你在干嘛,you know nothing。比如:有时候我也许能记得 printf 在 stdio里面,但大部分时候我的记性不怎么好,也不爱记忆这种东西。

所谓『模块化』,是一种很自然的事情,体现了『分而治之』的思想。

坦白来说,这是一个无需过多讨论的话题。如果你写过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)——模块化》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

最愚蠢的一代

最愚蠢的一代

马克·鲍尔莱因 / 杨蕾 / 天津社会科学院出版社 / 2011-7 / 39.80元

《最愚蠢的一代》 美国大学教授的鲍尔莱恩认为,数码时代正在使美国的年轻一代成为知识最贫乏的一代人。 美国的青少年和年轻人正在被数码时代各种娱乐消遣性的工具所淹没。这些工具包括手机、社交网络和信息传送等等。他们通过这些工具传达的却是幼稚浮浅的东西,而且这些东西正在妨碍他们同历史、公民义务、国际事务和美术等成年人的现实世界进行重要的接触。 我们想当然地以为,这些善于吸收新技术的美国年......一起来看看 《最愚蠢的一代》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换