Traducteur Modèle
Dans un emploi précédent, mon manager m'a suggéré l'utilisation d'un Traducteur modèle pour la conversion des données à partir d'une Table de données à objets. Fondamentalement, le Traducteur de la classe avait seulement statique (c'est à dire de la classe) des méthodes de sorte qu'il était une agrégation des appels de fonction. Ma première démarche a été de mettre en œuvre les constructeurs pour chaque objet qui pourrait prendre un DataTable ligne comme un argument et de créer une instance qui correspondait aux données.
Il a dit que le Traducteur de la classe avait été proposé par Microsoft, et une meilleure modularité du code. Je peux voir sur ce point, mais dans le même temps, il semble comme un très non-OO approche (même si le Visiteur modèle a les mêmes caractéristiques).
N'avez-vous utilisé ce modèle, et qu'en pensez-vous? les avantages et les inconvénients?
OriginalL'auteur Larry Watanabe | 2009-12-22
Vous devez vous connecter pour publier un commentaire.
De C2.Com il semble que le Traducteur modèle est un non-OOP de la mise en œuvre du modèle visiteur. Il note et la fin de l'article quelques-uns des inconvénients, notamment le fait que dans la programmation orientée objet de la sémantique, il est difficile de les exprimer (mais pas de code), en d'autres termes, il fera du bon travail, mais ne peut pas faire beaucoup de sens si vous utilisez pur de la programmation orientée objet pour le reste de votre code.
OriginalL'auteur GrayWizardx
Je pense que vous parlez de la Entité Traducteur. Je pense que le traducteur dans ce scénario est naturellement une méthode statique. Où elle vit est une question d'esthétique. Il devrait également être assez facilement unité testé comme il se doit seulement avoir des dépendances sur deux structures de données qu'il traduit entre l'. Sonne comme un autre nom pour leur "contrat de données" est DTO (Data Transfer Object).
OriginalL'auteur Igor Zevaka
Si vous pouvez effectuer la cartographie sans dépendances externes, alors il n'y a vraiment pas d'utilisation en utilisant rien d'autre qu'une méthode statique.
OriginalL'auteur Beep beep
Peut-être que je manque quelque chose, mais pourquoi ne pas simplement utiliser linq?
De toute façon, le TranslatorPattern est sur la modification de la structure de données à partir d'une représentation à une autre structure équivalente. Ici http://c2.com/cgi/wiki?TranslatorPattern est le plus profond d'infos à ce sujet.
Très vrai. Néanmoins, j'ai fourni un code d'exemple de la façon de réaliser la tâche élégamment pour quelqu'un devoir changer sur cette page, avec une tâche similaire, et j'ai fourni une URL (proche) source originale de la TranslatorPattern pour l'étude de soi.
à droite sur. Dans ma situation, je fonctionnais avec une API. Je ne suis pas sûr de ce que Richard requête de l'exemple, que la question n'avait rien à voir avec une requête.
OriginalL'auteur Richard Quinn