Précédent   Forum des professionnels en informatique > Général Développement > Conception
Conception Forum sur le cycle de développement : conception, modélisation, méthodes, tests, ...
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/12/2011, 16h18   #1
Invité de passage
 
Inscription : mai 2006
Messages : 9
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 9
Points : 2
Points : 2
Par défaut Modélisation application avec différentes sources de données

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
Wilgard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2012, 19h54   #2
Membre habitué
 
Avatar de rakakabe
 
Développeur informatique
Inscription : août 2007
Messages : 118
Détails du profil
Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : août 2007
Messages : 118
Points : 122
Points : 122
Envoyer un message via Yahoo à rakakabe
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.
Images attachées
Type de fichier : png simple-factory.png (25,2 Ko, 3 affichages)
Type de fichier : png builder+factory.png (36,0 Ko, 4 affichages)
rakakabe est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h16.


 
 
 
 
Partenaires

Hébergement Web