Lors de la création d'une solution à plusieurs niveaux, je ne souhaite pas exposer mes objets métier, mais utiliser des objets DTO à la place. De l'autre côté, je ne veux pas définir deux fois les objets et écrire du code-copie tout le temps.Les POCO devraient-ils être dérivés des DTO ou mieux non?
Maintenant mon idée serait d'écrire des DTO qui contiennent tous les champs et propriétés nécessaires, mais pas de logique (état seulement).
Ensuite, je dériverais mes objets métier de ces DTO, en les étendant avec ma logique métier, en travaillant sur les propriétés des classes de base DTO. Ces objets seraient également les objets persistés dans l'ORM utilisé (NHibernate). Avec cette approche, du côté serveur, je pouvais travailler sur les objets métier et les transmettre directement au client (ils sont dérivés, donc coulissables). Je ne serais pas obligé d'exposer ma logique métier de cette façon et économiser beaucoup de code.
Pensez-vous que cette approche est judicieuse?
Cordialement,
Sebastian
Comment allez-vous augmenter le coût de votre objet métier sans copier-copier lorsque vous obtenez un DTO d'un client? –