Dans mon programme (une application de console qui édite et impute des données), je donne à l'utilisateur la possibilité de fournir un dictionnaire de données de différentes façons: fichiers texte délimités par des tabulations, Classeurs Excel ou dans une base de données. Le dictionnaire se compose de plusieurs (12-15) fichiers/feuilles/tables. J'essaie de trouver un bon moyen de charger les données des différentes sources dans la base de données.Validation des données d'un fichier dans .NET
Ma solution jusqu'à maintenant a été d'utiliser un référentiel pour isoler les différentes sources de données et de faire en sorte que ces dépôts crachent les DTO que je mappe sur mon modèle de domaine. J'utilise le pattern Builder pour contrôler la séquence entière des événements.
Fondamentalement, la séquence des événements pour chaque fichier/feuille/table est:
- Obtenez les DTO du référentiel
- Valider les informations contenues dans les DTO
- Puis
- Si la les données sont bonnes, mappez l'entité de domaine
- sinon conservez une liste d'erreurs en cours d'exécution.
Ma question est la suivante: Je suis en train de trouver le meilleur endroit où est de valider les informations contenues dans les DTO? Une solution possible était d'ajouter une interface sur les DTO comme si
public interface IValidate
{
void Validate();
bool HasErrors { get; }
IEnumerable<string> GetErrorMessages();
}
est-ce trop lourd pour un DTO? La validation devrait-elle avoir lieu ailleurs? Désolé si c'est un peu subjectif.
Qu'est-ce que DTO? (lien est OK) –
Je pense que "Objet de transfert de données" de PoEAA de Martin Fowler;) – TheVillageIdiot
Oui, il est ici: http://martinfowler.com/eaaCatalog/dataTransferObject.html – TheVillageIdiot