Thrift RPC 系列教程(2)——全局变量&全局常量

全局变量,就像不可控的孩子,你放心你的孩子老是消失你的视野范围内吗?编程

为啥有全局变量

一般来讲,『全局变量』被视为一种很差的编程风格,由于它实在是不可控,怕它的状态不知道在何时就被改变了,根源就是『人们惧怕未知』。可是若是是全局常量,则问题不大,反正变来变去,仍是同一个东西。bash

Thrift支持全局常量

Thrift中的常量,其实就是模块级别的常量,语法上,天然是简单得不得了:编程语言

// 普通基础类型
const i32 INT32CONSTANT = 9853

// 复杂容器类型
const map<string,string> MAPCONSTANT = {'hello':'world', 'goodnight':'moon'};
const set<string> NAMES = {"name1", "name2"};
const list<string> NAMES_LIST = ["name1", "name2"];
复制代码

全局常量有啥用?

如同你使用其余编程语言同样,全局常量在它们里面有啥用,那么在Thrift中就有啥用。好比我有一个需求,须要为系统的每一个端口起一个名字,以统一规范,统一给每一个微服务系统使用。那么咱们就能够:微服务

const  map<string, i64>  PORTNAME_PORT = {
    "MYSQL_PORT": 8806,
    "REDIS_PORT": 7379,
};
复制代码

不过,整体而言,『全局XX』带来了方便,也带来了问题,没有什么事情是非得使用『全局』去解决的,因此整体上不是 很是推荐的风格。ui

相关文章
相关标签/搜索