我正在通過網絡接收簡單數據,文本中的名稱/值對。我需要編寫一個流程來處理這些對,然後將它們剔除並通過事件總線發送到另一個區域進行處理。每個名稱代表不同的數據「類型」或轉換操作,我必須對字符串的值部分進行操作。從表面上看,這很簡單,但我正在尋找一個簡單的「正確」體系結構來完成這項工作,以便我可以轉換300種不同類型的值。下面是一個簡單的例子:在Java中爲EventBus解析不同的值類型
輸入:
9,19.0,31,0.00,34,0.379579,37,1.319952,55,0.03,66,0.00,81,1.558965,82,1.578690,92,0.03,99,24.57,100,-8144.29,101,0.13,105,2.999,106,148.3,108,-155.8,111,4.263,112,155.0,113,-170.0,167,10.60,205,1.558965,231,-0.040,232,-93.8,237,75.0,238,0.100
真正含義是:
9,19.0
31,0.00
34,0.379579
等...
在 「34」 事件的情況下,我必須將該號碼轉換爲不同的值以顯示給用戶。因此,每種事件類型都可能具有不同的轉換過程。實際上,我認爲在所有300種事件類型中可能有一組轉換過程(如12個)。
這是我的問題。
如何處理所有轉換類型?這就像是可以注入解析器的排序算法或比較器嗎?
如何在對象創建和GC方面高效?這些對來自網絡,我不想只是擺脫GC的對象(我在Android上)。
我應該將各種類型映射到公交車上的事件,只讓消費者註冊他們感興趣的事件,或者向每個消費者發送一個通用事件並讓他們每次決定我正在考慮前者,但也對該樣板感到厭煩)。
任何一般的想法將不勝感激。