Question

Les notions sont-elles mentionnées dans le titre de la question synonyme dans une certaine mesure? Où se trouvent les principales différences (contexte, structure, ...) et peut-on être considérée comme un sous-ensemble d'un autre? Voici quelques brèves définitions prises de Wikipedia.

pojo (objet de java nature simple) Wikipedia

dans le logiciel informatique, Pojo est un acronyme pour un vieux objet Java uni. le le nom est utilisé pour souligner qu'un donné objet est un objet Java ordinaire, pas un objet spécial, et en particulier Pas une entreprise Javabean. Le terme a été inventé par Martin Fowler, Rebecca Parsons et Josh Mackenzie dans Septembre 2000:

"We wondered why people were so against using regular objects in their
 systems and concluded that it was
 because simple objects lacked a fancy
 name. So we gave them one, and it's
 caught on very nicely."

java haricot Wikipedia

JavaBeans sont un logiciel réutilisable Composants pour Java qui peuvent être manipulé visuellement dans un constructeur outil. Pratiquement, ils sont des cours écrit dans la programmation Java Langue conforme à un particulier convention. Ils ont l'habitude de encapsuler de nombreux objets en un seul objet (le haricot), de sorte qu'ils puissent être passé autour d'un objet de haricot Au lieu de plusieurs individu objets. Un JavaBean est un objet Java c'est sérialisé, a un nullaire constructeur et permet d'accéder à Propriétés à l'aide de getter and Setter Méthodes.

objet de valeur wikipedia

Objet de transfert de données (DTO), anciennement connu sous le nom d'objets de valeur ou de VO, est un Modèle de conception utilisé pour transférer des données entre application logicielle sous-systèmes. Les DTO sont souvent utilisés dans conjonction avec des objets d'accès aux données récupérer des données d'une base de données.

Objet d'entreprise Wikipedia

Un objet métier est un type d'un Une entité intelligible étant un acteur à l'intérieur de la couche d'entreprise dans un Ordinateur orienté objet N-couches programme.

lié:

Différence entre DTO, VO, POJO, JavaBeans? Quelle est la différence entre un Javabean et un pojo? < / a> DDD: Quelle est l'utilisation de la différence entre les entités et les objets de valeur?

Était-ce utile?

La solution

Toutes ces classifications ne sont pas liées. Voici ma compréhension:

  • pojo est ce que son nom suggère - un ancien objet Java uni. Il n'y a rien de spécial à ce sujet. Et c'est exactement ce que nous voulons transmettre lorsque nous disons qu'un objet est un pojo. Aujourd'hui, la plupart des applications utilisent certaines sortes de cadres sous-jacents, et les cadres sont confrontés aux objets qui s'intègrent au cadre - L'objet doit mettre en œuvre une interface ou prolonger une classe. Lorsque nous disons qu'un objet est un pojo, nous voulons dire que c'est juste un objet ordinaire et n'a aucune dépendance sur aucun cadre.

  • Un JavaBean est une classe Java qui suit certaines conventions telles que décrites dans votre question. Ces objets sont souvent mandatés par certains cadres qui utilisent la réflexion pour déterminer les propriétés (accessibles via des getters / setters) de l'objet et les manipuler par ex. Les haricots exposés aux JSP, les haricots de printemps, etc. La bonne chose à propos de Javabeans est qu'ils sont toujours des pojos. Bien qu'ils suivent certaines conventions, les conventions ne sont pas définies par un cadre particulier mais sont plutôt définies par Sun JavaBean Standard et les classes sont encore simples classes Java sans liens avec des classes ou des interfaces de la tierce partie.

  • Les objets métier font référence à des objets représentant les entités de votre domaine d'activité. Celles-ci résident généralement dans votre couche d'entreprise - la couche où se trouve toute la logique commerciale. Ces objets mappent généralement aux entités de la persistance des magasins E.G. les tables. Ces objets pourraient être pojos, javabeans, éjbs, etc.

  • Les objets de valeur sont un type de motif de conception. Dans certaines petites applications Web, vous avez la possibilité d'utiliser également vos objets métier dans la couche Web. Toutefois, dans des applications plus importantes ou des applications J2EE, vous définissez des objets de valeur pour déplacer des informations de la couche d'entreprise à la couche Web. C'est pourquoi ils s'appellent également des objets de transfert de données (DTO). Ces objets n'ont généralement que les attributs nécessaires dans la couche Web et laissent les attributs des objets métier destinés à la consommation de couche d'entreprise. Ils peuvent également avoir des attributs "calculés" générés dans la couche d'entreprise. L'utilisation de ces modèles aide à découpler les couches commerciales et Web.

Autres conseils

Voici ma prise:

  1. Business Objects est un terme générique Pour l'idée abstraite que représente votre problème. Vous pouvez mettez-les dans n'importe quelle langue. Dans Java, vous avez des choix supplémentaires à faire, parce qu'ils peuvent être pojos ou Éjbs, mutable ou immuable.
  2. Les objets de valeur ou les DTO sont utilisés pour ferry des données entre couches. Ils sont généralement immuables. Ils peuvent être mis en œuvre comme pojos ou java haricots. Pensez à eux comme un autre sous-ensemble de Pojos.
  3. Un haricot Java est conforme à la spécification du soleil d'origine. Ils étaient destinés à fournir une interface qui leur permettrait d'être branchée dans une IDE de style VB. Pensez à ceux-ci comme un sous-ensemble de Pojo.
  4. Les gens sont parfois confondus sur la différence entre les haricots Java et les haricots Java Enterprise Java. Les haricots Java font partie de la spécification Java 1.0 d'origine, destinée à être comme des composants VB (rappelez-vous «Boîte à haricot»?). Enterprise Java Haricots était une spécification qui a suivi que décrit comment des objets spéciaux Java implémenteraient des interfaces spécifiques pour interagir avec un serveur d'applications Java EE. Le serveur d'applications était un moniteur de transaction pour une architecture de composants distribuée qui manipulerait la filetage, la persistance, la mise en commun, le cycle de vie d'objet, la messagerie, la nommage, etc. Les EJB sont un sous-ensemble très spécial d'objets Java qui ne fonctionnent que dans le contexte d'une application Java EE. serveur.
  5. Un pojo peut être mis en œuvre pour être conforme à la norme Java Bean, mais ce n'est pas une exigence. Tout objet Java qualifie comme un pojo. Il était à l'origine censé les distinguer d'EJB version 2.0, qui nécessitait plusieurs interfaces afin d'interagir avec le serveur Java EE App correctement.

Les questions sont de savoir si c'est une erreur d'utiliser certaines de ces synonymes (comme si j'ai entendu certaines personnes) et si une classification donnée peut être considérée comme un sous-ensemble ou une autre.

C'est une erreur d'utiliser ces termes comme synonymes.Ils ont clairement des significations distinctes.Les définitions citées (et celles fournies dans d'autres réponses) rendent cela clair.

Cependant, s'il est souvent valide d'utiliser beaucoup (ou même tous) de ces termes pour décrire le même objet ou les mêmes objets.Tout est une question de perspective;c'est-à-dire quel aspect de l'objet que vous essayez de mettre l'accent sur.

Synthèse (des réponses données):

  • pojo : objet ordinaire sans dépendances envers aucun cadre. Il peut être adapté pour se conformer à la norme Java Bean sans être une exigence en tant que telle.
  • Javabean : Objet conforme à la spécification Sun JavaBean ou Java 1.0 (voir "Boîte à beans"). Ils étaient initialement destinés à fournir une interface afin de pouvoir être branchés dans une IDE de style VB avec peu de difficulté. Peut être considéré comme un sous-ensemble de pojos et rester indépendant des cadres. Il peut employer certains mécanismes tels que la réflexion pour accéder aux propriétés.
  • Enterprise Java Bean : Ceux-ci ne devraient pas être confondus avec des haricots Java. Avec les simplifications apportées avec la version 3.0, les EJB peuvent être considérés comme équivalents à un pojo. L'EJB en soi est une spécification décrivant des objets spéciaux Java pouvant interagir avec un serveur Java EE. Le serveur en tant que tel agi en tant que moniteur de transaction dans le contexte d'une architecture de composants distribués de manière à gérer des objets tels que le filetage, la persistance, la mise en commun, le cycle de vie d'objet, la messagerie et la dénomination. En tant que tel, une EJB peut être considérée comme un sous-ensemble très spécial utilisé dans le contexte d'un serveur d'applications Java EE.
  • objet commercial : concept théorique ou idée abstraite qui aide à représenter un problème donné. Il représente des entités de domaine commercial et réside dans la couche d'entreprise d'une application. Ils peuvent être mappés sur des entités dans le contexte de la persistance. L'objet peut être un pojo / javabean / EJB et être mutable ou immuable.
  • Objet d'objet / de transfert de données : emploie un modèle de conception qui aide à découpler les couches d'entreprise et de bande. Ceci est convenir au contexte de grandes applications dans lesquelles des objets peuvent transiter entre les couches (la couche d'entreprise et la couche Web par exemple). Ils sont généralement immuables dans la nature et peuvent être formés comme des pojos ou des haricots Java. Une spécificité est qu'elles peuvent contenir des attributs calculés générés dans la couche d'entreprise.

P.S: marqué comme wiki communautaire alors n'hésitez pas à éditer.

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