|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : mai 2006 Messages : 9 ![]() |
Bonjour,
Je cherche le bon design pattern à appliquer pour une application que je dois créer. Je souhaite faire une application qui prendre des objects d'un certain type et qui execute du code dessus. Jusque là rien d'extraordinaire.... Par contre toute la difficulté réside dans le fait que ces objets doivent être crées à partir de différentes sources de données. Je m'explique plus concrètement. On va dire que le type d'objet cible est un contenu XML et que mes sources de données sont pas exemple un base de données MySQL, une feuille CSV. Donc le mieux je pense est de créer deux sources de données : un CSVConverterToXML et un BDConverterToXML qui envoient des object XML à mon execution principale qui prend en entrée ces XML et executer le traitement qu'il faut dessus. Les sources de données doivent pooler en permanence leur entrée pour voir s'il n'y a pas de nouvelles à traiter, c'est pas de nouveau fichier CSV dans le répertoire spécifié et pas de nouvelle lignes en base pour la base de données. Quant à l'execution principale elle ne fait rien en attendant les nouveaux Xml en entrées. Je ne sais pas si les différentes sources de données doivent être modélisées via une factory, une facade, un visiteur ou bien un décorateur et m'expliquer les raisons de votre choix. Le second point important de mon application serait qu'elle puisse utiliser d'autre sources de données par exemple via un middleware type Tibco Rendez vous par exemple. Donc en fait il n'y aurait qu'à développer d'une dll/jar de la nouvelle source de données par exemple TibcoConverterToXML sans avoir à recompiler/modifier l'exe principal qui process les objets XML qui arrivent des différentes sources. Merci |
|
|
00
|
|
|
#2 |
|
Membre habitué
![]() |
Si j'ai bien compris, il s'agit de traiter des données xml construites à partir de différentes sources (CSV ou bases) ?
Cas 1: à un instant t, la donnée doit être créée à partir d'une source unique (CSV), le pattern de création Factory est peut-être le mieux adapté à mon avis (cf. exemple très simple: simple-factory.png); Cas 2: à l'instant t, les différentes parties du contenu xml sont construites à partir différentes sources, on utilisera un Factory pour créer les différentes parties et un Builder pour assembler le tout (cf. exemple stupide: builder+factory.png). Par ailleurs, en reprenant encore l'exemple de 'simple-factory.png', on peut utiliser 3 dll/jar: 1- un dll pour contenir les éléments du Factory: ContenuXML, TypeSource, ConvToXMLFactory, IConvToXML (interface de base des convertisseurs); 2 - un dll pour CSVConverterToXML et un autre pour BDConverterToXML; Le second point important pourrait être résolu en modifiant un peu la méthode du Factory Convert(...): faire en sorte que cette méthode puisse charger dynamiquement les dll des convertisseurs. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com