2010-11-03 5 views
1

Ma couche d'interface utilisateur appelle ma couche de gestion qui remplit un objet DTO. J'ai besoin d'afficher les propriétés du DTO sur ma page ASPX. Dois-je créer des variables publiques sur le code derrière la page pour chacune des propriétés DTO et de référence comme <%=PublicPropertyName%> OU est-ce ok pour définir l'instance DTO à public et référence les propriétés directement comme <%=dtoInstance.propertyName%>Devrais-je attribuer mes propriétés DTO aux variables publiques ou appeler l'instance dto directement sur ma page aspx?

De plus, serait-il mieux si je juste créé des contrôles Literal et Label pour chaque élément sur la page ASPX et juste les remplir du code derrière seulement?

Répondre

1

En utilisant les variables publiques dans le code serait derrière quelque peu similaire à la présentation du modèle modèle de Fowler. Cela permettrait à vos DTO d'évoluer dans le temps et nécessiterait seulement une modification du code qui transforme les DTO et assigne leurs valeurs au code derrière l'objet. Ce serait certainement une approche valable.

+0

J'aurais dû être plus clair (modifierai). Dans le deuxième cas où je référence directement le dto, je l'ai mis comme une variable publique dans le code derrière. – jpshook

+0

C'est vraiment une question de complexité et de probabilité de changement du projet. Si vous exposez le DTO en tant que membre de votre code, vous créez une forte dépendance entre votre vue et le DTO (qui, lorsqu'il est partagé entre plusieurs vues, a une très forte probabilité de changement). Cela signifie qu'à chaque fois que vous changez le DTO, vous devrez probablement revenir en arrière et refactoriser plus de vos vues pour accepter le nouveau DTO. J'irais avec le premier cas. – Jeffrey

1

La première partie de votre question se résume à savoir si vous souhaitez fournir un accès direct à vos variables sans propriété. Je suis à peu près certain que l'exposition publique des variables viole l'encapsulation et permet aux clients de voir trop de votre classe.

En ce qui concerne les littéraux, etc ... Cela peut valoir la peine de jeter un coup d'œil au contrôle FormView.

http://msdn.microsoft.com/en-us/library/fyf1dk77%28VS.85%29.aspx

Pour faciliter la manipulation de ce un jeu d'enfant (orthographe ?!)