2010-01-22 5 views
1

1. J'ai besoin de construire un "Web Service Server (Simulator)" qui génère les fichiers XML et envoie également des appels asynchrones au client pour la notification. À ce stade, j'écris un code pour générer des fichiers XML fictifs qui seront utilisés pour les tests (FileGeneratorClass-- builder)?Quels sont tous les motifs de conception que je peux utiliser?

2. Aussi, puis-je mettre en œuvre cette manière que je ne dois pas écrire un complet code à partir de zéro pour simuler un autre serveur de service Web et un autre format de fichier? - Quel modèle puis-je utiliser ici? Les objets/classes sont générés à partir d'un fichier schéma (pour le fichier xml) et WSDL (pour le service web), comment puis-je rendre mon code immunisé aux changements de ces fichiers (versions plus récentes)? - Quel modèle de design ??

(S'il vous plaît laissez-moi savoir si l'information fournis sont trop ou trop peu, même si vous me devez modifier) ​​

Merci beaucoup. Je suis un débutant complet et l'utilisation de modèles pour ce petit projet pourrait être exagéré mais je veux le faire pour que je l'apprenne/le comprenne. Ce qui, je pense, me donnera confiance et clarté quand je dois le faire dans un projet plus complexe.

Répondre

10

Les motifs ne font rien. Vous demandez si vous devriez utiliser des phrases prépositionnelles lorsque vous envisagez d'écrire un roman de mystère. Vous ne commencez pas une conception en disant quels modèles ai-je besoin. Les modèles émergent du processus de conception. Vous dites que mon programme aura besoin de x et de y, c'est semblable à tel ou tel modèle, je devrais voir si ce modèle convient. Si c'est le cas, utilisez-le. Si ce n'est pas le cas, ne le forcez pas à s'adapter.

Vous traitez des motifs comme des classes. Ne fais pas ça. Ce n'est pas leur but. Ils ne sont pas des blocs de construction. Ce ne sont pas des entrées de liste de contrôle. Ils sont exactement ce que la signification mondaine des modèles implique. Ce sont des choses que vous voyez répétées encore et encore. Plusieurs fois vous sentez leur nécessité à l'avance et ainsi vous les incluez dans la conception. Mais ils ne sont pas un point de départ.

+0

vous suggérez que je devrais écrire le code et lentement il commencera à poindre sur moi ?? En d'autres termes, "l'expérience est-elle absolument nécessaire pour comprendre quoi utiliser?" –

+0

Je pense que la bonne façon d'y penser est pendant votre codage initial, vous commencez avec rien et construisez dessus. Une fois que vous commencez à voir le code qui est dupliqué ou a trop de couplages ou doit être réutilisable ailleurs, etc., alors vous commencez à appliquer des modèles si nécessaire pour résoudre certains de ces problèmes. Les motifs doivent être appliqués lors du refactoring si nécessaire. –

+0

Non. Je dis que vous devriez concevoir des interfaces et des hiérarchies de classes et tout ce qui est supporté par votre méthode de conception préférée. Et à mesure que vous progressez dans la conception, les choses que nous appelons des modèles de conception émergeront. Ensuite, au lieu d'expliquer pourquoi vous avez cette fonction et cette fonction, vous utilisez simplement le modèle spécifique et passez à autre chose. – jmucchiello

3

Parfois, il n'y a pas d'autre choix que de faire des recherches. Si vous souhaitez apprendre les modèles de conception, alors commencez à étudier les modèles de conception. Apprenez un peu chaque jour, et comme vous faites votre codage normal, vous commencerez à voir les utilisations de ce que vous avez appris. Personnellement, j'aime la façon Wikipedia has tackled the topic (par opposition à certains des livres). Lisez l'aperçu, puis plongez-vous dans ceux que vous envisagez comme ayant une certaine pertinence par rapport à ce que vous essayez de faire.

En outre, vous pouvez être intéressé par Enterprise Integration Patterns, par opposition aux modèles de conception, qui s'appliquent plus aux services Web qu'aux algorithmes.

+0

Oui, merci! –

Questions connexes