2010-06-04 23 views
6

Ich habe zu „übersetzen“ Codes mit einer Umrechnungstabelle wie folgt aus:Wie konvertiert/übersetzt man Informationen?

 
| symbol | translation | 
| 1 |  3  | 
| 2 |  4  | 
| 3 |  6  | 
| 4 |  5  | 
| 5 |  2  | 
| 6 |  1  | 
| 7 |  1  | 

Meine erste Idee war es, ein Map Zuordnen jedes Symbol seiner Übersetzung verwenden und die Tabelle aus einer Datenbank oder einer Text/xml zu laden Datei. Gibt es einen besseren Weg? Muss nicht blitzschnell sein, einfach zu warten und zu testen. TIA.

+0

Eine Map-Lösung ist offensichtlich, leicht zu pflegen ... auch zur Laufzeit sehr gut (searching..treemap). Was war deine zweite Idee? Ich habe das Gefühl, dass Sie bei diesem Ansatz wahrscheinlich einen Nachteil sehen. Haben Sie zusammengesetzte Symbole, die eine Kombination von Algos usw. erfordern? –

+0

nichts von der Art ... hatte keine zweite Idee, nur zu fragen, ob es etwas geben könnte, an das ich nicht dachte :) –

Antwort

1

Karte ist ideal, es sei denn, Ihre Zuordnungstabelle/Datei kann sich ändern, nachdem Sie sie in die Karte geladen haben.

Mit anderen Worten, wenn Ihre Verbindung ziemlich statisch ist und akzeptieren kann, die Anwendung neu starten zu müssen, wenn es sich ändert, gehen Sie für eine einfache Karte.

Andernfalls müssen Sie an eine Art Benachrichtigungsmechanismus denken, damit die Karte aktualisiert werden kann (oder sogar neu geladen werden kann), ohne die App neu zu starten.

Abhängig von der Situation möchten Sie möglicherweise einen einfachen externen Aufruf verfügbar machen, um ihn zu aktualisieren, oder die zugrunde liegende Datei/Tabelle in regelmäßigen Intervallen abfragen, oder eine Kombination daraus.

1

Loading a Map klingt ideal dann. Einfach zu warten und zu testen (Sie können auf die Datenbank in einem Komponententest verzichten, wenn Sie die Datenbank oder das XML-Material abstrahieren und einen Mock verwenden, um Testwerte bereitzustellen, die sich nicht ändern werden).

1

Ich würde auch mit der Karte Ansatz gehen. Ich denke, das ist am einfachsten, also am einfachsten zu warten und zu testen.

Verwandte Themen