Domanda

Le nozioni sono menzionate nel titolo della domanda sinonimo in una certa misura? Dove si trovano le principali differenze (contesto, struttura, ...) e si può considerare un sottoinsieme di un altro? Ecco alcune brevi definizioni prese da Wikipedia.

Pojo (Plain Old Java Object) wikipedia

.

Nel software di calcolo, Pojo è un Acronimo per un oggetto java semplice. Il il nome è usato per sottolineare che un dato L'oggetto è un oggetto Java ordinario, non un oggetto speciale, e in particolare Non un'impresa JavaBean. Il termine è stato coniato da Martin Fowler, Rebecca Parsons e Josh Mackenzie in Settembre 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 Bean wikipedia

.

Javabeans sono software riutilizzabili Componenti per Java che può essere manipolato visivamente in un costruttore attrezzo. Praticamente, sono lezioni scritto nella programmazione Java lingua conforme a un particolare convenzione. Sono abituati a incapsulare molti oggetti in un singolo oggetto (il fagiolo), in modo che possano essere passato in giro come un oggetto singolo di fagioli Invece di come più individuali oggetti. Un javabale è un oggetto Java questo è serializzabile, ha un nulleria costruttore e consente l'accesso a Proprietà utilizzando Getter e Setter Metodi.

Oggetto valore Wikipedia

.

Oggetto di trasferimento dati (DTO), precedentemente noto come oggetti di valore o Vo, è un Modello di design utilizzato per trasferire i dati Tra applicazione software sottosistemi. I DTO sono spesso usati in Congiunzione con gli oggetti di accesso ai dati per recuperare i dati da un database.

Business Object Wikipedia .

Un oggetto business è un tipo di un Entità intelligibile è un attore all'interno dello strato di affari in a Computer orientato all'oggetto a livello N Programma.

correlato:

.

differenza tra Dto, Vo, Pojo, Javabeans? Qual è la differenza tra un Javabale e un Pojo? < / a >. DDD: Qual è l'uso della differenza tra entità e oggetti di valore?

È stato utile?

Soluzione

Non tutte queste classificazioni sono correlate. Ecco la mia comprensione:

    .
  • pojo è ciò che suggerisce il suo nome - un semplice vecchio oggetto Java. Non c'è niente di speciale a riguardo. E questo è esattamente ciò che vogliamo trasmettere quando diciamo che un oggetto è un pojo. Oggi la maggior parte delle applicazioni utilizza alcuni tipi di framework sottostanti, e con i frameworks è requisito sugli oggetti che si integreranno con il framework: l'oggetto deve implementare un'interfaccia o estendere una classe. Quando diciamo che un oggetto è un pojo, intendiamo dire che è solo un oggetto ordinario e non ha dipendenze su alcun quadro.

  • A JavaBean è una classe Java che segue certe convegni come descritto nella tua domanda. Tali oggetti sono spesso incaricati da determinati quadri che usano la riflessione per scoprire le proprietà (accessibili tramite GetTetter / Setter) dell'oggetto e manipolarli ad es. Fagioli esposti a JSPS, fagiolini ecc. La cosa buona di Javabeans è che sono ancora pojos. Sebbene seguono certe convegni, le convenzioni non sono definite da qualsiasi framework particolare, ma sono piuttosto definite dal Sun JavaBean Standard e le classi sono ancora semplici classi Java senza legami con le classi o le interfacce del framework di terze parti.

    Business Objects Fare riferimento a oggetti che rappresentano le entità del dominio aziendale. Questi di solito risiedono nel tuo livello aziendale - lo strato in cui è tutta la logica aziendale. Questi oggetti di solito mapano le entità del negozio di persistenza ad es. Tabelle. Questi oggetti potrebbero essere pojos, javabeans, ejb ecc.

  • Gli oggetti del valore sono un tipo di schema di progettazione. In alcune piccole applicazioni Web, hai la possibilità di utilizzare anche gli oggetti aziendali nello strato web. Tuttavia, nelle applicazioni più grandi o nelle applicazioni J2ee, si definiscono oggetti di valore per spostare le informazioni dal livello aziendale al livello Web. Ecco perché vengono anche chiamati oggetti di trasferimento dati (DTO). Questi oggetti di solito hanno solo gli attributi necessari nel livello web e lasciano gli attributi degli oggetti business che sono stati pensati per il consumo di strati aziendali dietro. Potrebbero anche avere attributi "calcolati" generati nel livello aziendale. L'utilizzo di questo motivo aiuta a disaccoppiare gli strati aziendali e web.

Altri suggerimenti

Ecco la mia presa:

    .
  1. Business Objects è un termine generico Per l'idea astratta che rappresenta il tuo problema. Puoi implementarli in qualsiasi lingua. Nel Java, hai ulteriori scelte a fare, perché possono essere pojos o EJB, mutevole o immutabile.
  2. oggetti valore o DTO sono utilizzati per traghettare i dati tra i livelli. Di solito sono immutabili. Possono essere implementati come pojos o fagioli java. Pensa a loro come un altro sottoinsieme di pojos.
  3. Un fagiolo Java è conforme alle specifiche del sole originale. Avevano lo scopo di fornire un'interfaccia che consentirebbe loro di essere collegati a un IDE in stile VB con facilità. Pensa a questi come sottoinsieme di Pojo.
  4. Le persone a volte si confondono sulla differenza tra fagioli Java e Beans Java Enterprise. I fagioli Java fanno parte delle specifiche originali Java 1.0, destinate ad essere come componenti VB (ricordare "Scatola di fagioli"?). Beans Java Enterprise c'erano una specifica che ha seguito quanto descritto come gli oggetti speciali Java implementino interfacce specifiche per interoperare con un server App Java EE. L'App Server è stato un monitor delle transazioni per un'architettura dei componenti distribuiti che gestirebbe il threading, la persistenza, il pooling, il ciclo di vita del ciclo di vita, la messaggistica, la denominazione, ecc. EJB sono un sottoinsieme molto speciale degli oggetti Java che funzionano solo nel contesto di un'app Java EE server.
  5. Un pojo può essere implementato per essere conforme allo standard Java Bean, ma non è un requisito. Qualsiasi oggetto Java si qualifica come un pojo. Originariamente significava distinguerli dalla versione 2.0 EJB, che richiedeva diverse interfacce per interoperare correttamente con il server App Java EE correttamente.
.

Le domande sono se è un errore usare alcuni di questi come sinonimi (come se avessi ascoltato alcune persone lo fanno) e se una data classificazione può essere considerata un sottoinsieme o un altro.

È un errore usare questi termini come sinonimi.Hanno chiaramente significati distinti.Le definizioni quotate (e quelle fornite in altre risposte) rendono questo chiaro.

Tuttavia, se è spesso valido per utilizzare molti (o anche tutti) di questi termini per descrivere lo stesso oggetto o oggetti.È tutta una questione di prospettiva;cioè quale aspetto dell'oggetto (s) stai cercando di enfatizzare.

Sintesi (dalle risposte fornite):

    .
  • pojo : un oggetto ordinario senza dipendenze verso qualsiasi struttura. Può essere adattato per conformarsi allo standard Java Bean senza essere un requisito come tale.
  • JavaBean : oggetto conforme alla specifica JavaBean o Java 1.0 (fare riferimento a "BOX Box"). Originariamente erano destinati a fornire un'interfaccia in modo da poter essere collegati a un IDE in stile VB con poca difficoltà. Può essere considerato come sottoinsieme di pojos e rimanere indipendente di framework. Può impiegare determinati mecanismi come la riflessione per accedere alle proprietà.
  • Enterprise Java Bean : Questi non dovrebbero essere confusi con i fagioli Java. Con le semplificazioni portati con la versione 3.0, EJB può essere considerata equivalente a un Pojo. EJB in sé è una specifica che descrive oggetti speciali Java in grado di interoperare con un server Java EE. Il server come tale ha agito come monitor di transazione nel contesto di un'architettura di componenti distribuiti che gestisce le cose come il threading, la persistenza, la messa in comune, il ciclo di vita dell'oggetto, la messaggistica e la denominazione. Poiché tale EJB può essere visualizzato come un sottoinsieme molto speciale utilizzato nel conteggio di un server applicazioni Java EE.
  • Business Object : concetto teorico o idea astratta che aiuta a rappresentare un determinato problema. Rappresenta le entità del dominio aziendale e risiede nello strato di business di un'applicazione. Possono essere mappati alle entità nel contesto della persistenza. L'oggetto può essere un pojo / javabean / ejb ed essere mutabile o immutabile.
  • Value Object Object / Data Transfer Object : impiega un modello di progettazione che aiuta a disaccoppiare gli strati aziendali e web. Questo per adattarsi al contesto di grandi applicazioni in cui gli oggetti possono transitare tra livelli (il livello aziendale e il livello web ad esempio). Di solito sono immutabili in natura e possono essere formati come pojos o fagioli java. Una specificità è che possono contenere attributi calcolati generati nel livello aziendale.

P.S: contrassegnato come wiki della comunità, quindi sentiti libero di modificare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top