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

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

内容简介:通常来说,『全局变量』被视为一种不好的编程风格,因为它实在是不可控,怕它的状态不知道在什么时候就被改变了,根源就是『人们害怕未知』。但是如果是全局常量,则问题不大,反正变来变去,还是同一个东西。Thrift中的常量,其实就是模块级别的常量,语法上,自然是简单得不得了:如同你使用其他编程语言一样,全局常量在它们里面有啥用,那么在Thrift中就有啥用。比如我有一个需求,需要为系统的每个端口起一个名字,以统一规范,统一给每个微服务系统使用。那么我们就可以:

通常来说,『全局变量』被视为一种不好的编程风格,因为它实在是不可控,怕它的状态不知道在什么时候就被改变了,根源就是『人们害怕未知』。但是如果是全局常量,则问题不大,反正变来变去,还是同一个东西。

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』带来了方便,也带来了问题,没有什么事情是非得使用『全局』去解决的,所以总体上不是 非常推荐的风格。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

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

人工智能时代

人工智能时代

[ 美]杰瑞•卡普兰(Jerry Kaplan) / 李盼 / 浙江人民出版社 / 2016-4-1 / CNY 59.90

 当机器人霸占了你的工作,你该怎么办?机器人犯罪,谁才该负责?人工智能时代,人类价值如何重新定义?  在《人工智能时代》一书中,智能时代领军人、硅谷连续创业者杰瑞·卡普兰指出:智能时代的到来,给人类社会带来了两大灾难性冲击:持续性失业与不断加剧的贫富差距。机器正在很大程度上替代人类的工作,不管你是蓝领还是白领。而针对未来社会将要发生的这些问题,卡普兰在《人工智能时代》一书中从企业、税收和......一起来看看 《人工智能时代》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

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

在线图片转Base64编码工具

随机密码生成器
随机密码生成器

多种字符组合密码