3 votes

Entités de domaine dans (ASP.NET) Session, ou mieux une sorte de DTOs ?

Actuellement, nous plaçons des objets/entités de domaine dans nos sessions ASP.NET.

Nous envisageons maintenant de passer des sessions InProc au serveur d'état. Cela nécessite que tous les objets de la session soient sérialisables. Au lieu d'annoter tous les objets avec l'attribut [Serializable], nous avons pensé à créer des objets de session personnalisés (DTO Session Objects ?), qui ne contiennent que les informations dont nous avons besoin :

CONS :

  • Les entités doivent être rechargées, ce qui nécessite des allers-retours supplémentaires à la base de données.

PROS :

  • L'état de la session est plus petit
  • L'information sur la session est plus spécifique (pourrait être un CON)
  • Pas d'annotation inutile des entités de domaine

Qu'en pensez-vous ? Devrions-nous utiliser une sorte de DTO pour stocker dans la session, ou devrions-nous nous en tenir aux bonnes vieilles entités ?

1voto

Mark Redman Points 10816

Si vous envisagez de passer à ASP.NET MVC, ces DTO deviennent vos Model ViewData Objects, ce qui peut constituer une migration pratique.

Oui, les informations de session seront plus spécifiques car les DTO seront spécifiques au comportement de leur utilisation. Cela devrait réduire les frais généraux en évitant d'avoir des informations inutilisées ou même des informations restreintes.

Les DTO spécifiques sont également utiles dans d'autres cas : si vous mettez en œuvre d'autres technologies dans votre couche de présentation, par exemple Silverlight, Flash, etc. et que vous avez besoin des mêmes objets dans un service Web.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X