2011-06-29 4 views
1

Nous commençons une nouvelle application web et nous avons décidé d'utiliser la conception N-Tier.transférer des objets entre DAL et BLL

Nous avons certains désaccords sur les objets qui transfèrent des données entre les couches (DTO),
devrait y avoir des méthodes dans les?

Si c'est pour organiser les données de 2 bases de données, devrions-nous créer un DTO pour toutes les couches par objet? Quelle est la norme?

Nous sommes en train de lire la conception d'applications web par Microsoft.

Répondre

2

L'objet DTO est habituellement un conteneur pour les données et n'a aucun comportement. Il existe plusieurs façons d'implémenter le mappage entre les niveaux à l'aide des objets DTO.

Vous pourriez avoir quelques directives de lire l'article sur les DTO du modèle MS & équipe de pratique: http://msdn.microsoft.com/en-us/library/ff649585.aspx

Il y a une autre ressource sur le SO: How to effectively use DTO objects (Data Transfer Objects)?

Vous pouvez aussi jeter un oeil sur un échantillon de projet de travail " Microsoft - Exemple d'application .NET 4.0 N-Layered. "http://microsoftnlayerapp.codeplex.com/ où de nombreux modèles sont utilisés et le DTO également.

+0

Nous avons un objet appelé site dont les données sont composées à partir de 2 bases de données (oui je le sais terrible - ancienne architecture) en créant un nouveau par l'utilisateur nous invoquons une méthode qui définit les données pour un objet interne (de l'autre DB), je ne l'aime pas dans le DTO/POCO je voudrais qu'il soit dans le BLL pourtant c'est la structure de l'objet alors devrait-il être dans le DAL? Est-il normal d'avoir cette méthode, peut-elle être une méthode util dans le dao? Quelles sont vos pensées? – guyl

+1

Mon conseil est de le garder simple et stupide (KISS). J'aime garder ma séparation des préoccupations. Dans les scénarios les plus simples, nous avons une couche DAL et une couche de domaine. Le domaine ne fait référence à rien. Le DAL connaît Domain, c'est donc la seule couche où je peux implémenter des méthodes de mapping ou d'aide. Dans votre cas, vous pouvez remplir l'objet du site avec des données par un framework tiers ou une méthode d'aide personnalisée, mais je pense qu'il est préférable de garder cela dans votre dal. "Peu importe" comment c'est fait que l'important est de savoir où est fait. –

Questions connexes