Frage

Sind die Vorstellungen, die in dem Fragentitel nach einem gewissen Grad erwähnt werden? Wo liegen die wichtigsten Unterschiede (Kontext, Struktur, ...) und kann man als Teilmenge eines anderen betrachtet werden? Hier sind einige kurze Definitionen aus Wikipedia.

pojo (ein einfaches altes Java-Objekt) Wikipedia

In der Computersoftware ist Pojo ein Akronym für ein einfaches altes Java-Objekt. Das Der Name dient dazu, dass ein gegebener Objekt ist ein gewöhnliches Java-Objekt, das nicht ein spezielles Objekt und insbesondere kein Unternehmen JavaBean. Der Begriff wurde von Martin Fowler, Rebecca, geprägt Parsons und Josh Mackenzie in September 2000:

generasacodicetagpre.

Java Bean Wikipedia

JavaBeans sind wiederverwendbare Software Komponenten für Java, die sein können visuell in einem Baumeister manipuliert Werkzeug. Praktisch sind sie Klassen in der Java-Programmierung geschrieben Sprache, die einem bestimmten entspricht Konvention. Sie sind gewöhnt an einkapseln viele Objekte in eine Single Objekt (die Bohne), damit sie sein können als einzelnes Bohnenobjekt herumgeführt statt mehrfacher Individuum Objekte. Ein JavaBean ist ein Java-Objekt das ist serialisierbar, hat ein nullary Konstruktor und ermöglicht den Zugang zu Eigenschaften mit Getter und Setter Methoden.

Wertobjekt Wikipedia

Datenübertragungsobjekt (DTO), früher als Wertobjekte oder VO bekannt, ist ein Design-Muster, der zur Übertragung von Daten verwendet wird zwischen Softwareanwendung Subsysteme. DTOs werden oft verwendet Verbindung mit Datenzugriffsobjekten Daten aus einer Datenbank abrufen.

Geschäftsobjekt Wikipedia .

Ein Business-Objekt ist eine Art von Verständliche Entität, der ein Schauspieler ist Innerhalb der Geschäftsschicht in einem N-Layer-Objektorientierter Computer Programm.

Verwandte:

Unterschied zwischen DTO, VO, POJO, JavaBerans? Was ist der Unterschied zwischen einem JavaBean und einem Pojo? < / a> DDD: Was ist die Verwendung des Unterschieds? zwischen Entitäten und Wertobjekten?

War es hilfreich?

Lösung

Nicht alle diese Klassifizierungen sind zusammenhängend. Hier ist mein Verständnis:

  • pojo ist das, was sein Name schlägt - ein einfaches altes Java-Objekt. Es gibt nichts Besonderes darüber. Und genau das, was wir vermitteln wollen, wenn wir sagen, dass ein Objekt ein Pojo ist. Heute nutzen die meisten Anwendungen einige Arten von zugrunde liegenden Rahmenbedingungen, und mit den Frameworks sind Anforderungen an die Objekte, die mit dem Rahmen integrieren, das Objekt eine Schnittstelle implementieren oder eine Klasse erweitern muss. Wenn wir sagen, ein Objekt ist ein Pojo, wollen wir sagen, dass es nur ein gewöhnliches Objekt ist und keine Abhängigkeiten auf jedem Rahmen hat.

  • A JavaBean ist eine Java-Klasse, die bestimmte Konventionen wie in Ihrer Frage beschrieben folgt. Solche Objekte werden häufig durch bestimmte Rahmenbedingungen verwandelt, die Reflexion verwenden, um die Eigenschaften des Objekts (zugänglich) des Objekts zu ermitteln und manipulieren, z. Bohnen, die JSPs, Federbohnen usw. ausgesetzt sind usw. Das Gute an JavaBeans ist, dass sie noch pojos sind. Obwohl sie bestimmte Konventionen folgen, werden die Konventionen nicht von einem bestimmten Rahmen definiert, sondern von Sun JavaBean-Standard, und die Klassen sind immer noch Plain-Java-Klassen ohne Krawatten an den Klassen oder Schnittstellen von Drittanbietern.

    .

  • Business-Objekte beziehen sich auf Objekte, die Ihre Business-Domain-Entitäten darstellen. Diese wohnen in der Regel in Ihrer Geschäftsschicht - die Ebene, in der sich alle Geschäftslogik befinden. Diese Objekte karten in der Regel an Persistenz-Speichereinheiten, z. Tische. Diese Objekte könnten Pojos, Javabeer, Ejbs usw. sein.

  • -Wertobjekte sind eine Art Design-Muster. In einigen kleinen Webanwendungen haben Sie die Möglichkeit, Ihre Geschäftsobjekte auch in der Webebene einzusetzen. In größeren Anwendungen oder J2EE-Anwendungen definieren Sie jedoch Wertobjekte, um Informationen aus der Geschäftsschicht auf die Webebene zu verschieben. Deshalb werden sie auch Datenübertragungsobjekte (DTOs) genannt. Diese Objekte haben in der Regel nur die Attribute, die in der Webebene benötigt werden, und verlassen die Attribute von Geschäftsobjekten, die für den geschäftsschichtigen Konsum zurückgegeben wurden. Sie können auch "berechnete" Attribute haben, die in der Geschäftsschicht generiert werden. Die Verwendung dieser Muster hilft, die Geschäfts- und Bahnebenen zu entkoppeln.

Andere Tipps

Hier ist mein Take:

    .
  1. Business Objects ist ein generischer Begriff für die abstrakte Idee das repräsentiert dein Problem. Sie können Implementieren Sie sie in jeder Sprache. Im Java, Sie haben zusätzliche Entscheidungen zu machen, weil sie pojos sein können oder Ejbs, Mutable oder unveränderlich.
  2. Werteobjekte oder DTOs werden zur Fährdaten zwischen den Schichten verwendet. Sie sind in der Regel unveränderlich. Sie können als Pojos oder Java-Bohnen umgesetzt werden. Denken Sie an sie als eine andere Teilmenge von Pojos.
  3. Eine Java-Bean entspricht der ursprünglichen Sun-Spezifikation. Sie sollten eine Schnittstelle bereitstellen, die es ihnen ermöglichen, dass sie mit Leichtigkeit in eine VB-Art-IDE eingesteckt werden können. Denken Sie an diese als Teilmenge von Pojo.
  4. Die Menschen werden manchmal über den Unterschied zwischen Java Bohnen und Enterprise Java Bohnen verwirrt. Java-Bohnen sind Teil der ursprünglichen Java 1.0-Spec, die wie VB-Komponenten sein soll (merken Sie sich an "Bohnenkasten"?). Enterprise Java Beans waren eine Spezifikation, die darauf folgten, dass beschrieben, wie spezielle Java-Objekte spezifische Schnittstellen implementieren würden, um mit einem Java EE-App-Server zusammenzuarbeiten. Der App-Server war ein Transaktionsmonitor für eine verteilte Komponentenarchitektur, die ein Gewinde, Persistenz, Pooling, Objektlebenszyklus, Messaging, Namens usw. handeln würde. EJBS sind eine ganz besondere Teilmenge von Java-Objekten, die nur im Rahmen einer Java EE-App funktionieren Server.
  5. Ein Pojo kann umgesetzt werden, um sich dem Java Bean-Standard anzupassen, aber es ist keine Anforderung. Jave Java-Objekt qualifiziert sich als Pojo. Es war ursprünglich dazu gedacht, sie von EJB Version 2.0 zu unterscheiden, die mehrere Schnittstellen erforderten, um mit dem Java EE-App-Server ordnungsgemäß zu interoperieren.

Die Fragen ist, ob es sich um ein Fehler handelt, um einige davon als Synonyme zu verwenden (wie ich einige Leute gehört habe), und wenn eine bestimmte Klassifizierung als Teilmenge oder ein anderes betrachtet werden kann.

Es ist ein Fehler, diese Bedingungen als Synonyme zu nutzen.Sie haben eindeutig unterschiedliche Bedeutungen.Die angegebenen Definitionen (und die in anderen Antworten bereitgestellten) machen dies klar.

jedoch, wenn es häufig gültig ist, viele (oder sogar alle) dieser Begriffe zu verwenden, um das gleiche Objekt oder das gleiche Objekt zu beschreiben.Es ist alles eine Frage der Perspektive;d. H. Welchen Aspekt der Objekte, die Sie betonen möchten.

Synthese (von Antworten gegeben):

  • pojo : ein gewöhnliches Objekt ohne Abhängigkeiten zu irgendeinem Rahmen. Es kann an den Java-Bohnenstandard angepasst werden, ohne als solche Voraussetzung zu sein.
  • javaBean : Objekt, das der SUN JAVABEAN- oder JAVA 1.0-Spezifikation entspricht (siehe "Beanbox"). Sie waren ursprünglich beabsichtigt, eine Schnittstelle bereitzustellen, so dass sie mit wenig Schwierigkeiten in eine VB-Art-IDE eingesteckt werden konnten. Kann als Teilmenge von Pojos betrachtet und bleibt unabhängig von Frameworks. Es kann bestimmte Mechanismen wie Reflexion zum Zugriff auf Eigenschaften einsetzen.
  • Enterprise Java Bean : Diese sollten nicht mit Java-Bohnen verwechselt werden. Mit den Vereinfachungen mit Version 3.0 können EJBS als äquivalent zu einem Pojo betrachtet werden. EJB an sich ist eine Spezifikation, die spezielle Java-Objekte beschreibt, die mit einem Java EE-Server interoperieren können. Der Server als solcher als Transaktionsmonitor im Rahmen einer verteilten Komponentenarchitektur handelte Dinge, die Dinge, wie Gewinde, Persistenz, Pooling, Objektlebenszyklus, Messaging und Benennung, beschäftigt. Da ein solcher EJB als eine ganz spezielle Teilmenge betrachtet werden kann, die im Kontect eines Java EE-Anwendungsservers verwendet wird.
  • Business-Objekt : theoretisches Konzept oder abstrakte Idee, die ein gegebenes Problem darstellt. Es stellt Business-Domain-Entitäten dar und lebt in der Geschäftsschicht eines Antrags. Sie können den Entitäten im Kontext der Anhaltspunkte zugeordnet werden. Das Objekt kann ein Pojo / Javabean / EJB sein und entweder veränderbar oder unveränderlich sein.
  • Wertobjekt / Datenübertragungsobjekt : Beschäftigt ein Designmuster, das dazu beiträgt, die Geschäfts- und Bahnschichten zu entkoppeln. Dies ist der Anschluss an den Kontext großer Anwendungen, in denen Objekte zwischen den Schichten (der Geschäfts- und Bahnebene beispielsweise) übertragen können. Sie sind in der Regel unveränderlich in der Natur und können entweder als Pojos oder Java-Bohnen gebildet werden. Eine Spezifität ist, dass sie berechnete Attribute enthalten können, die in der Geschäftsschicht erstellt werden.

p.s: Als Community-Wiki gekennzeichnet, fühlen Sie sich frei, um zu bearbeiten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top