2009-03-18 8 views
1

Je suis perplexe, j'ai une tâche où je dois prendre un balisage (format json, pas que cela importe vraiment) et l'analyser dans un modèle d'objet. Nous avons déjà un modèle de domaine, il suffit de parcourir le balisage et de créer les objets pertinents.Modèle de conception pour l'analyse d'un arbre de balisage dans un modèle d'objet

Ce n'est pas vraiment adapté au motif composite car les objets créés ne sont pas similaires. En outre, le balisage n'est pas énorme et ne fait que trois niveaux de profondeur, donc je suis plus intéressé par un modèle organisationnel que par la vitesse brute. Je voudrais vraiment obtenir les résultats suivants:

  • Évitez une méthode monstre avec beaucoup de boucles imbriquées
  • facile d'ajouter de nouveaux tags/objets dans l'avenir
  • Clean facile à lire le code pour la prochaine personne qui doit le modifier

Des suggestions sur les modèles possibles qui seraient appropriés pour cela? N'hésitez pas à donner des exemples dans n'importe quelle langue si vous le souhaitez.

Cordialement,

Chris

modifier: Voici un exemple du balisage - link text

+0

Pouvez-vous donner un exemple simple du balisage? – Glenn

Répondre

2

Eh bien, si vous regardez le balisage standard tel que JSON ou XML, vous pouvez utiliser prêt- les analyseurs de bas niveau à utiliser qui sont disponibles dans la plupart des langages de programmation tels que .NET C#, Java, Ruby, C++ etc.

Les modèles que ces analyseurs utilisent sont une combinaison de AbstractFactory, Composite, Singleton et Builder pa ttern.

Vous pouvez vous reporter à l'implémentation SAXParser et SAXParser Factory de Java à titre d'exemple.

Class Diagram of Builder Pattern on WikiPedia

Questions connexes