C#(.NET) > Conception

Références

L'actualité

Librairie

L'information

C#(.NET) > Conception > DTO (Data Transfer Object)

Un DTO stocke des données. Il n'a pas de méthode (comportement) autre que les accesseurs et mutateurs qui ne sont utilisés que pour lire et modifier les données. Pourquoi faire un objet aussi simple que cela ? Parce qu'il fait un excellent conteneur de données, léger et fortement typé, lorsque vous souhaitez déplacer les données de votre DAL (couche d'accès aux données) à votre BAL ou entre les couches d'une architecture n-tiers.

 
DTO (Data Transfer Object)

C#(.NET) > Conception > POCO (Plain Old CLR Objet)

POCO signifie Plain Old CLR Objet, ou Plain Old C # Object. C'est essentiellement la version .Net d'un POJO, Plain Old Java Object. Un POCO est votre objet métier. Il dispose de données, de logique de validation et de toute autre logique métier que vous voulez y mettre. Mais il y a une chose qu'un POCO n'a pas et c'est ce qui en fait un POCO : il ne dispose pas de méthode de persistance. Si vous avez un POCO de type Person, vous ne pouvez pas avoir de méthode Person.GetPersonById(), ni Person.Save(). Les POCO ne contiennent que des données et la logique métier, pas de logique de persistance d'aucune sorte. Le terme que vous entendrez pour ce concept est " Persistance Ignorance " (PI). Les POCO ignorent la logique de persistance.


 
POCO (Plain Old CLR Objet)

C#(.NET) > Conception > DAO (Data Access Object)

Les objets en mémoire vive sont souvent liés à des données persistantes (stockées en base de données, dans des fichiers, dans des annuaires...). Le modèle DAO propose de regrouper les accès aux données persistantes dans des classes à part, plutôt que de les disperser. Il s'agit surtout de ne pas écrire ces accès dans les classes "métier", qui ne seront modifiées que si les règles de gestion métier changent.

L'utilisation de DAO permet de s'abstraire de la façon dont les données sont stockées au niveau des objets métier. Ainsi, le changement du mode de stockage ne remet pas en cause le reste de l'application. En effet, seules ces classes dites "techniques" seront à modifier (et donc à re-tester). Cette souplesse implique cependant un coût additionnel, dû à une plus grande complexité de mise en oeuvre.

 
DAO (Data Access Object)

C#(.NET) > Conception > Repository

WorkingProcess...
Lorem ipsum dolor sit amet, vel mauris interdum.
Sed wisi nibh aptent ante, vestibulum velit rhoncus sed porta arcu aptent. Consectetuer vel, ipsum nec. Perspiciatis sit tempor, diam id sapien orci amet. Nunc dolor sed feugiat magna ut. Ad et nec at lacus, nibh turpis nonummy lectus neque lacinia platea, pulvinar anim eget felis, praesent semper. Et pellentesque. Elementum integer cursus vestibulum, diam velit dis, nulla lorem facilisi ut mauris. Elit et urna. Pharetra pellentesque velit, adipiscing ultrices in massa ultricies, et libero donec a ut mattis molestie. Adipiscing maecenas congue maecenas odio augue posuere, interdum eget nulla elit, eros orci turpis amet ut aliquam, dolor ut ut ac.

 
Repository C#

C#(.NET) > Conception > UnitOfWork

WorkingProcess...
Lorem ipsum dolor sit amet, vel mauris interdum.
Sed wisi nibh aptent ante, vestibulum velit rhoncus sed porta arcu aptent. Consectetuer vel, ipsum nec. Perspiciatis sit tempor, diam id sapien orci amet. Nunc dolor sed feugiat magna ut. Ad et nec at lacus, nibh turpis nonummy lectus neque lacinia platea, pulvinar anim eget felis, praesent semper. Et pellentesque. Elementum integer cursus vestibulum, diam velit dis, nulla lorem facilisi ut mauris. Elit et urna. Pharetra pellentesque velit, adipiscing ultrices in massa ultricies, et libero donec a ut mattis molestie. Adipiscing maecenas congue maecenas odio augue posuere, interdum eget nulla elit, eros orci turpis amet ut aliquam, dolor ut ut ac.

 
UnitOfWork C#...