Pregunta

¿Se mencionan las nociones en el título de la pregunta, sinónimo hasta cierto punto? ¿Dónde se encuentran las principales diferencias (contexto, estructura, ...) y se puede considerar un subconjunto de otro? Aquí hay algunas definiciones breves tomadas de Wikipedia.

pojo (viejo objeto de java simple) wikipedia

en el software informático, Pojo es un Acrónimo para un viejo objeto Java. La El nombre se utiliza para enfatizar que un dado El objeto es un objeto Java ordinario, no un objeto especial, y en particular No es una empresa JavaBean. El termino fue acuñado por Martin Fowler, Rebecca Parsons y Josh Mackenzie en Septiembre de 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 son software reutilizables Componentes para Java que pueden ser Manipulado visualmente en un constructor. herramienta. Prácticamente, son clases. Escrito en la programación de Java. Idioma conforme a un particular convención. Están acostumbrados a Encapsule muchos objetos en una sola objeto (el frijol), para que puedan ser pasó como un solo objeto de frijol en lugar de como múltiple individuo objetos. Un javabeano es un objeto Java. Eso es serializable, tiene un nulario. constructor, y permite el acceso a Propiedades utilizando Getter y Setter Métodos.

Value Objeto wikipedia

Objeto de transferencia de datos (DTO), anteriormente conocido como objetos de valor o vo, es un Patrón de diseño utilizado para transferir datos. entre la aplicación de software subsistemas. Los dtos a menudo se utilizan en Conjunción con objetos de acceso a datos. para recuperar datos de una base de datos.

objeto de negocio wikipedia

Un objeto de negocio es un tipo de un Entidad inteligible siendo un actor. Dentro de la capa de negocio en un Computadora orientada a objetos en capas N programa.

relacionado:

diferencia entre dto, vo, pojo, javabeans? ¿Cuál es la diferencia entre un javabeano y un pojo? < / a> DDD: ¿Cuál es el uso de la diferencia? entre entidades y objetos de valor?

¿Fue útil?

Solución

No todas estas clasificaciones están relacionadas. Aquí está mi entendimiento:

  • pojo es lo que su nombre sugiere: un objeto de java antiguo simple. No hay nada especial al respecto. Y esto es exactamente lo que queremos transmitir cuando decimos que un objeto es un pojo. Hoy en día, la mayoría de las aplicaciones están utilizando algunos tipos de marcos subyacentes, y con los marcos presentan los requisitos de los objetos que se integrarán con el marco: el objeto debe implementar una interfaz o extender una clase. Cuando decimos que un objeto es un pojo, queremos decir que es solo un objeto ordinario y no tiene dependencias en ningún marco.

  • A Javabean es una clase de Java que sigue a ciertas convenciones como se describe en su pregunta. Dichos objetos a menudo son obligados por ciertos marcos que utilizan la reflexión para descubrir las propiedades (accesibles a través de los receptores / constantes) del objeto y manipularlos, por ejemplo, Frijoles expuestos a JSP, frijoles de primavera, etc. Lo bueno de Javabeans es que todavía son POJOS. Aunque siguen ciertas convenciones, las convenciones no están definidas por ningún marco en particular, sino que están definidas por Sun Javean Standard y las clases siguen siendo las clases de Java, sin vínculos con las clases o interfaces de ningún marco de terceros.

  • Los objetos empresariales se refieren a objetos que representan a sus entidades de dominio de negocios. Estos suelen residir en su capa de negocio, la capa donde está toda la lógica de negocios. Estos objetos suelen mapear las entidades de la tienda de persistencia, por ejemplo. mesas. Estos objetos podrían ser POJOS, Javabeans, EJBS, etc.

  • Los objetos de valor son un tipo de patrón de diseño. En algunas aplicaciones web pequeñas, tiene la opción de usar sus objetos de negocios en la capa web también. Sin embargo, en aplicaciones más grandes o aplicaciones J2EE, usted define objetos de valor para mover información desde la capa de negocio a la capa web. Es por eso que también se llaman objetos de transferencia de datos (DTOS). Estos objetos generalmente tienen solo los atributos que se necesitan en la capa web y dejan los atributos de los objetos empresariales que estaban destinados al consumo de capas de negocios. También pueden tener atributos "calculados" que se generan en la capa de negocios. El uso de estos patrones ayuda a desacoplar la empresa y las capas web.

Otros consejos

Aquí está mi toma:

  1. Business Objects es un término genérico por la idea abstracta que representa tu problema Usted puede Implementarlos en cualquier idioma. En Java, tienes opciones adicionales para hacer, porque pueden ser pojos o Ejbs, mutables o inmutables.
  2. Los objetos de valor o DTO se utilizan para ferry los datos entre capas. Suelen ser inmutables. Se pueden implementar como POJOS o Java Beans. Piense en ellos como otro subconjunto de POJOS.
  3. Un frijol Java se ajusta a la especificación original del sol. Tenían la intención de proporcionar una interfaz que les permitiría conectarlos a un IDE de estilo VB con facilidad. Piense en estos como un subconjunto de Pojo.
  4. Las personas a veces se confunden con la diferencia entre los frijoles Java y las frijoles de Java Enterprise. Los frijoles de Java son parte de la especificación original de Java 1.0, destinada a ser como componentes VB (recuerde "Bean Box"). Las frijoles de Java Enterprise fueron una especificación que siguió a que describía cómo los objetos especiales de Java implementarían interfaces específicas para interoperar con un servidor de aplicaciones Java EE. El servidor de aplicaciones fue un monitor de transacción para una arquitectura de componente distribuida que manejaría el roscado, la persistencia, la agrupación, el ciclo de vida del objeto, la mensajería, la nombramiento, etc. EJBS son un subconjunto muy especial de objetos Java que funcionan solo en el contexto de una aplicación Java EE servidor.
  5. Se puede implementar un POJO para ajustarse al estándar Java Bean, pero no es un requisito. Cualquier objeto Java califica como un POJO. Originalmente, estaba destinado a distinguirlos de EJB versión 2.0, que requería varias interfaces para interoperar con el servidor de la aplicación Java EE correctamente.

Las preguntas son si es un error usar algunos de estos como sinónimos (como si hubiera escuchado a algunas personas) y, si se puede considerar una clasificación dada como un subconjunto u otro.

Es un error utilizar estos términos como sinónimos.Claramente tienen significados distintos.Las definiciones cotizadas (y las que se proporcionan en otras respuestas) lo hacen claro.

Sin embargo, si a menudo es válido usar muchos (o incluso todos) de estos términos para describir el mismo objeto u objetos.Todo es una cuestión de perspectiva;I.E. Qué aspecto de los objetos que intenta enfatizar.

síntesis (de las respuestas dadas):

  • pojo : un objeto ordinario sin dependencias hacia cualquier marco. Se puede adaptar para ajustarse al estándar de frijol Java sin ser un requisito como tal.
  • javabean : objeto que se ajusta a la especificación Sun Javabean o Java 1.0 (consulte "Bean Box"). Originalmente, estaban destinados a proporcionar una interfaz para que pudieran enchufarse a un IDE de estilo VB con poca dificultad. Se puede considerar como un subconjunto de POJOS y siguen siendo independientes de los marcos. Puede emplear ciertos mecanismos, como la reflexión para acceder a las propiedades.
  • Empresa Java Bean : No deberían confundirse con Java Beans. Con las simplificaciones provocadas con la versión 3.0, los EJBS pueden considerarse equivalentes a un POJO. EJB en sí mismo es una especificación que describe objetos de Java especial que pueden interoperar con un servidor Java EE. El servidor como tal actuó como un monitor de transacciones en el contexto de una arquitectura de componentes distribuidos que maneja cosas como la roscada, la persistencia, la agrupación, el ciclo de vida del objeto, la mensajería y el nombramiento. Como tal EJB se puede ver como un subconjunto muy especial que se usa en el contrato de un servidor de aplicaciones Java EE.
  • objeto de negocios : concepto teórico o idea abstracta que ayuda a representar un problema dado. Representa a entidades de dominio de negocios y reside en la capa comercial de una solicitud. Pueden ser asignados a entidades en el contexto de la persistencia. El objeto puede ser un POJO / Javabean / EJB y sea mutable o inmutable.
  • Value Objeto / Objeto de transferencia de datos : Emplea un patrón de diseño que ayuda a desacoplar las capas de negocios y web. Esto es para adaptarse al contexto de las aplicaciones grandes donde los objetos pueden transitar entre capas (el ejemplo y la capa web, por ejemplo). Por lo general, son inmutables en la naturaleza y pueden formarse como POJOS o Java Beans. Una especificidad es que pueden contener atributos computados que se generan en la capa de negocios.

P.S: Marcado como Wiki de la comunidad, así que siéntase libre de editar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top