Question

Je sais DTO est un objet de transfert de données et une BO est un objet métier. Mais, qu'est-ce que cela signifie réellement? Quand dois-je choisir un sur l'autre? De ce que je comprends DTO est juste utilisé pour le transfert de données et ne pas la logique métier. Est-ce que cela veut dire qu'une DTO n'a pas de méthode uniquement les propriétés (getter et setter)? Mais, il a encore les propriétés d'un BO. Quelqu'un peut-il expliquer s'il vous plaît? Merci.

Était-ce utile?

La solution

DTO est utilisé pour transférer des données entre les couches / niveaux. A cet effet, il n'a pas besoin de methos et parfois même il ne devrait pas avoir des méthodes - par exemple lorsque DTO est exposé sur le service Web.

Affaires objet est un objet intelligent qui contient des données et des méthodes qui effectue des opérations (changement de données) sur cet objet. Lorsque vous exposez BO à la couche supérieure, il peut appeler des méthodes publiques de votre objet. Parfois, vous ne voulez pas et pour cette raison vous créez DTO qui seulement fournit des données mais pas les méthodes.

DTO n'a pas de transporter toutes les données de BO. Lorsque vous suivez approche DTO stricte vous créez DTO spécifiques pour chaque opération exposée sur votre couche d'affaires. Par exemple, si votre objet a des données d'audit comme CreatedBy, ModifiedBy, CreatedDate, etc. et vous créez la méthode de mise à jour de votre incomming DTO (avec un objet mis à jour) n'a pas besoin d'avoir ces propriétés parce que la couche supérieure ne peut pas les modifier - ne peut logique métier .

Autres conseils

En général, DTO a des données statiques relatives à ce moment avant arriver niveau, mais BO peut dynamiquement maintenir l'état et le débit valeur du pavillon; et BO pourrait également être autonome pour avoir la validation ou logique de réorganisation ou d'un jugement pour une logique commerciale; mais DTO «changement de fonction de niveau Changeons de données qui ont passé plus ... Mais, les changements de BO a une portée plus large, par exemple, dépend de la mise à jour plus de manière dynamique avec l'état de flux d'affaires, le changement de » drapeau, même l'identité pourrait être changé en temps réel, ces supposés être capturés et pris des mesures pour tenir compte du BO, par exemple, comme le solde de 200 $ deviennent zéro ou solde de $ 2000 à 5000 $, alors l'affaire / identité commerciale ou de statut va changer ... c'est grande différence entre DTO et BO.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top