2015-12-05 75 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

是的,只有我能想到的是讓它們變成非靜態的,實際上會減少內存佔用,因爲對象只會在運行時爲序列化和反序列化而創建。 –