Qu'est ce qu'un DTO et la BO? Quelle est la différence?
Je sais DTO est un objet de transfert de données et une BO est un objet métier. Mais, qu'est-ce que ça veut dire? Quand dois-je choisir l'un plutôt que l'autre?
Partir, ce que je comprends DTO est juste utilisé pour le transfert de données et n'ont pas de logique métier. Est-ce à dire que un DTO n'ont pas la méthode, seules les propriétés(getter et setter)? Mais, il a encore des propriétés d'un BO. Quelqu'un peut-il expliquer? Merci.
- Blé: j'ai déjà dit ce que je sais. Je viens de stackoverflow pas parce que je ne peux pas trouver les réponses sur internet. Je viens ici arriver; il y a des experts qui comprennent vraiment le sujet et répondre à des questions dans un simple et lucide manière. Pouvez-vous s'il vous PLAÎT laissez-moi (et d'autres) de savoir pourquoi vous avez posé cette question?
- J'ai posé la question parce que quand je fais une recherche sur internet pour ces termes, je reçois les réponses correctes.
- Blé: C'est vrai pour la plupart des questions sur ou liés pile sites d'échange. Vous trouverez une réponse sur certains blog ou un forum. Il ce la première fois que quelqu'un a posé une question, qui ne peut pas être recherché sur internet?
- Je vois cela, et que peu de membres avec un représentant de haut. de plus en plus comme de humilate et en voiture, membres avec de faibles rep.
- c'est vrai pour cette question.
- en vous demandant ce que vous avez essayé de vous-même, n'est pas l'humiliation.
- Blé: je vais laisser à la communauté de décider si ce que vous avez dit est juste ou faux
- c'est très généreux de vous.
Vous devez vous connecter pour publier un commentaire.
DTO est utilisé pour transférer des données entre les couches/couches. À cette fin, il n'a pas besoin de methos et parfois même, il ne devrait pas avoir toutes les méthodes - par exemple lors de la DTO est exposée sur le web service.
Objet de gestion intelligente de l'objet qui contient les données et les 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 objets, des méthodes publiques. Parfois, vous ne voulez pas de cette et pour cette raison, vous créez DTO qui n'offre que des données, mais pas les méthodes.
DTO ne pas avoir à transporter tout BO de données. Lorsque vous suivez stricte DTO approche de vous créer des Dto pour chaque opération exposées sur votre couche de gestion. Par exemple, si votre objet a de la vérification des données, comme la CreatedBy, ModifiedBy, CreatedDate, etc. et vous créez méthode de mise à Jour de votre incomming DTO (avec mise à jour de l'objet) n'a pas besoin d'avoir ces propriétés en raison de la couche supérieure ne peut pas les modifier uniquement la logique métier peut.
Généralement, DTO a par rapport à des données statiques pour le moment avant d'arriver niveau, mais BO dynamique peut garder de l'état et des flux de valeur de l'indicateur; et BO pourrait aussi être autonome pour avoir la validation ou logiquement à une réorganisation ou d'un jugement à une logique métier; mais DTO 's de changement dépend du niveau" s changement des données qui ont traversé... Mais, les BO des modifications a une portée plus large, par exemple , dépend plus de mettre à jour dynamiquement avec flux d'affaires d'état, le drapeau de s 'changer, même l'identité peut être modifié en temps réel , ces supposons que d'être capturé et a agi de façon à refléter de BO, par exemple, tels que l'équilibre à partir de 200 $de devenir zéro , ou de l'équilibre à partir de 2000 $à 5000$, puis l'accord de commerce, de l'identité ou de statut va changer ... c'est la grosse différence entre les DTO et BO .