Maison  >  Article  >  Java  >  Concepts de base de données : DO, DTO

Concepts de base de données : DO, DTO

巴扎黑
巴扎黑original
2017-06-26 09:54:552034parcourir

Le projet de fin d'études est terminé. Cette fois, le projet de fin d'études a été réalisé en tout respect du processus de génie logiciel. J'ai beaucoup de ressentis pour l'instant, je n'en ferai pas un résumé. problèmes techniques qui sont apparus au cours du processus. Tout d’abord, je voudrais parler de plusieurs concepts d’entités de conception logicielle.

En fait, il y a quatre concepts au total : VO, DTO, DO, PO D'après ma propre compréhension, je ne parle que de DTO et DO. Cependant, des explications de quatre concepts sont publiées ci-dessous :

(1) Explication du concept

VO (View Object) : Objet View, utilisé pour la couche de présentation, sa fonction est d'afficher une page spécifiée (ou composant) encapsule toutes les données.

DTO (Data Transfer Object) : Objet de transfert de données. Ce concept vient du modèle de conception J2EE. L'objectif initial est de fournir des entités de données à granularité grossière pour les applications distribuées EJB afin de réduire le nombre d'appels distribués. améliorant ainsi les performances des appels distribués et réduisant la charge du réseau, mais ici, je fais généralement référence aux objets de transmission de données utilisés entre la couche de présentation et la couche de service.

 DO (Domain Object) : L'objet de domaine est une entité commerciale tangible ou intangible abstraite du monde réel.

PO (Objet persistant) : Objet de persistance, qui forme une relation de mappage un-à-un avec la structure de données de la couche de persistance (généralement une base de données relationnelle). Si la couche de persistance est une base de données relationnelle, alors. la table de données Chaque champ (ou plusieurs) de correspond à un (ou plusieurs) attributs de PO.

(2) DO

DO, Domain Object, je le mets généralement dans le package Model, c'est-à-dire qu'il existe en tant qu'objet entité du projet, et c'est souvent une classe qui interagit directement avec le framework ORM.

 

Dans le développement réel, DO est souvent un POJO, qui fournit des méthodes Get/Set de base pour faciliter les opérations sur les données. Les attributs sont généralement privés et ne sont accessibles que via uniquement le. La méthode G/S peut accéder aux attributs. C'est aussi DO qui interagit directement avec la base de données.

(3) DTO

DTO, Date Transfer Object, est littéralement une classe de transfert de données. En fait, c'est effectivement le cas dans le processus de transmission du serveur au client. , ce qui est nécessaire La complexité d'une classe n'est souvent pas quelque chose qui peut être géré par une seule table de base de données, mais nécessite plusieurs requêtes pour l'assembler et la combiner en un résultat. Par exemple :

Lorsque le Projet est présenté au premier plan, vous devrez peut-être fournir ProjectName, UserName (nom du projet, nom du propriétaire), et les champs correspondants de la table Project dans la base de données peuvent être : ProjectId, ID de l'utilisateur. Une simple requête sur la table Project ne donne qu'un identifiant d'utilisateur. Si vous avez besoin de plus d'informations sur l'utilisateur, vous devez l'interroger en conjonction avec la table User. La classe Project dans DO ne peut pas avoir des attributs aussi détaillés et diversifiés. cette fois-ci doit être placé dans la classe ProjectDTO. L'exemple de code est le suivant :

 

1 public class Project{2       private String projectName;3       private String userid;      
4 }
1 public class User{2     private String username;3     private String userid;4 }
public class ProjectDTO{     private String projectName;     private User user;
}

De cette façon, ProjectDTO est transmis à la page d'accueil. Vous pouvez obtenir les données d'affichage appropriées. En même temps, comme il s'agit d'un exemple, cela peut ne pas être parfait dans les applications réelles, User dans DTO devrait souvent être UserDTO, car la classe User peut. contiennent des attributs tels que le mot de passe.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn