[問題] 請問有沒有關於這樣的 pattern....
Hi 大家好,
最近在寫一隻程式的時候遇到一個問題...
我們的程式分成兩個部份... 一個是上層的 UI. 一個是下層的 engine
Engine 會從下層讀出資料,然後 UI 得到 engine 的資料,顯示在介面上
現在問題是資料格式有點複雜,它是長度不固定的串列
其元素是好幾層的樹狀結構,結構中包含大量字串以及串列
而且長度亦不固定
之前是用一堆類似這樣的 struct
struct B
{
char id[MAX_STRING];
char name[MAX_STRING];
}
struct A
{
char id[MAX_STRING];
char name[MAX_STRING];
int listCount;
B listOfB[MAX_LIST];
};
然後要的時後是這樣用
int aCount = Engine.GetACount();
A* aArray = new A[aCount];
Engine.GetA(aArray);
A 裡面就是巢狀的 B... 而且實際的環境是 B 還包 C, C 又包 D.
每個 struct 的大小都是固定的
當初會這樣設計是為了記憶體管理的方便,希望都在 UI 端配置記憶體
Engine 只負責填資料
但是這樣做的結果是很浪費空間,struct 非常肥大,在 heap 上還可以,
但是在 stack 上配置一個 struct 就有可能塞爆 stack...
不知道一般應用上,像這樣的架構是不是有什麼 pattern 可以使用?
想了老半天想不到什麼比較好的方法...
謝謝各位 m(_ _)m
--
雁子回到了遙遠的北方 妳的名字我已想不起來 別怪我 生命太匆忙
http://blog.xamous.net
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 71.137.0.214
→
03/19 16:14, , 1F
03/19 16:14, 1F
推
03/21 16:54, , 2F
03/21 16:54, 2F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):