2015-12-05 74 views
1

为了支持json接口,当前json请求,响应被存储在一个映射中,并且每个类都包含静态成员变量,这些变量是从json端收到或者发送时访问映射的“键”到json方。典型的类看起来像静态数据成员

struct JsonCenterOfGravity 
{ 
static const QString COMMAND_NAME = "GetCoG"; 
static const QString COG = "COG"; 
static const QString MASS = "MASS" 
QVariantMap map; 
}; 

和客户端可以访问使用的值,如果响应是JsonCenterOfGravity响应,

response.map.value(JsonCenterOfGravity::COG); 

将有相当多的请求/响应类这个样子。这种实现的主要原因是由于该项目非常耗时,因此没有广泛地编写代码以获得更好的界面。这会在程序中产生大量的静态数据,而且实现本身就像'C'一样。

我的问题是这是多么糟糕,以及有多少使用静态数据的问题。

回答

0

最终我真的没有看到这样做会产生一个较小的内存占用程序。由于它是静态的,所以只会声明一个实例,并且您需要在程序的某个位置使用该数据来序列化和反序列化JSON。

+0

是的,只有我能想到的是让它们变成非静态的,实际上会减少内存占用,因为对象只会在运行时为序列化和反序列化而创建。 –