2010-06-04 4 views
6

Je dois codes « traduire » avec une table de conversion comme ceci:Comment convertir/traduire des informations?

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

Ma première idée était d'utiliser un Map associer chaque symbole à sa traduction et de charger la table à partir d'une base de données ou un texte/xml fichier. Y a-t-il un meilleur moyen? Ne doit pas être rapide, facile à entretenir et à tester. TIA.

+0

a Soln de carte est évident, facile à entretenir..grande à l'exécution aussi (search..treemap). Quelle était ta deuxième idée? J'ai l'impression que vous voyez probablement un inconvénient à cette approche. Avez-vous des symboles composés nécessitant une sorte d'algos de combinaison .. etc? –

+0

rien du genre ... n'a pas eu une deuxième idée, je me demandais s'il y avait peut-être quelque chose que je ne pensais pas :) –

Répondre

1

La carte est idéale à moins que votre table/fichier de cartographie ne change après l'avoir chargée dans la carte. En d'autres termes, si votre association est assez statique et peut accepter de devoir redémarrer l'application lorsqu'elle change, optez pour une carte simple.

Sinon, vous devez penser à une sorte de mécanisme de notification afin que la carte puisse être mise à jour (ou même simplement rechargée) sans relancer l'application. Selon la situation, vous pouvez exposer un appel externe simple pour l'actualiser, ou interroger le fichier/table sous-jacent à intervalles réguliers, ou une combinaison de ceux-ci.

1

Chargement d'un Map sons idéal alors. Facile à maintenir et à tester (vous pouvez renoncer à la base de données dans un test unitaire si vous extrayez la base de données ou les données XML et utilisez un simulacre pour fournir des valeurs de test qui ne vont pas changer).

1

Je voudrais aller avec l'approche de la carte aussi bien. Je pense que c'est le plus simple, donc le plus facile à maintenir et à tester.

Questions connexes