cuál es el significado técnico de este contexto plain-vanilla Java Beans & plain-vanilla Java Class ??.¿Qué es JavaBeans plain-vanilla & plain-vanilla Java Class?
Respuesta
Un bean/clase 'plain-vanilla' significa una clase muy básica, generalmente con las siguientes propiedades;
- No se extiende o implementar cualquier cosa
- Tiene variables de clase privada
- tiene un constructor vacío
- tiene métodos estándar de captador/definidor
Esto también se llama un POJO (Llanura Old Java Object). Por ejemplo;
public class MyPojo
{
/*
* Private class variables
*/
private String name;
private int size;
/**
* Empty constructor
*/
public MyPojo()
{
}
/*
* Standard getter/setters
*/
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public int getSize()
{
return size;
}
public void setSize(int size)
{
this.size = size;
}
}
"No extiende ni implementa nada" podría ser "No extiende ni implementa nada desde un marco determinado", es un poco confuso, pero está bien que los POJO implementen o extiendan cosas. – nos
La referencia "llano-vainilla" es para diferenciarlo de JavaBeans (un antiguo mejores prácticas para la re-utilizables widgets de interfaz gráfica de usuario) y EnterpriseJavaBeans (elementos de la especificación Java EE).
Una clase plain vainilla es aquella que no necesita cumplir los requisitos de ningún marco o esquema.
Un bean simple de vainilla es una clase con mutadores y accesorios (es decir, getters/setters), pero sin comportamiento.
creo que la historia de la "plain vanilla Java Bean" y POJO fue así:
- Java 1.0 salga, incluyendo especificaciones Java Bean (por ejemplo ctor defecto, getters/setters para propiedades, etc.) para permitirles interactuar con los editores de estilo VB.
- "Enterprise" Java Beans (EJB) 1.0 sale para describir componentes distribuidos, transaccionales y persistentes.
- El estándar J2EE se anuncia en Java One en 1999 para proporcionarnos contenedores para gestionar el ciclo de vida de los objetos, el subprocesamiento, la agrupación, etc. y proporcionar servicios empresariales como nomenclatura, búsqueda, etc. para EJB.
- La gente encuentra que las especificaciones EJB 1.0 y 2.0 requieren mucho código y funcionan para hacer cosas simples.
- Backlash contra EJB 2.0 nos lleva de vuelta a POJO, genera Spring, Guice y otros marcos DI/AOP que intentan simplificar las cosas de nuevo.
Gracias, la evolución histórica es muy útil para entender esto. – Gruber
La "clase de Java simple-vainilla" (también conocido como POJO) es una clase que tiene atributos. Como su nombre lo dice, es un Objeto Java Plain Old.
Idealmente, un POJO no extiende ninguna clase ni implementa ninguna interfaz. No tiene anotaciones tampoco.
El "plain-vanilla Java Bean" (también conocido como JavaBean) es una clase que tiene algunos requisitos.
- Se debe tener un constructor por defecto
- debe tener captadores y definidores de sus atributos
- Se tiene que implementar
Serializable
Así que un JavaBean es una especie de POJO (no es un POJO ideales porque implementa Serializable) con algunas restricciones.
Recursos:
Sobre el mismo tema:
descripción 'Vainilla' proviene de helado, creo, y describe el sabor habitual o básica disponible. Por lo tanto, los pojos de vainilla son pojos sin adornos, sencillos y sencillos. El término también se usa en finanzas y sexo, y probablemente también en otros dominios. (Esta es la más SO no técnica respuesta que he publicado!)
no técnico pero muy esclarecedor – dellasavia
- 1. ¿Qué son los JavaBeans en inglés sencillo?
- 2. .NET Class Loader - ¿Qué es?
- 3. ¿Qué es Proxy Class en C++
- 4. Eager java class loading
- 5. .class vs .java
- 6. Java Class File Editor
- 7. ¿Por qué "[self class] == [super class]"?
- 8. Java Utility Class vs. Service
- 9. Java inner class and inheritance
- 10. ¿Por qué Java genera varios archivos .class en la compilación?
- 11. Java Client .class File Protection
- 12. diferencia entre java bean y java class?
- 13. java -like friend class mechanism
- 14. Significado de .this y .class en java
- 15. PHP regex: ¿qué es "class at offset 0"?
- 16. ¿Para qué es "string [] args" en Main class?
- 17. ¿Qué es Serializable en Java?
- 18. Bloque sincronizado de Java para .class
- 19. ¿Es .class un método o campo?
- 20. CSS: #id .class VS .class performance. ¿Cual es mejor?
- 21. Filtrar una lista de JavaBeans con Google Guava
- 22. Uso de ClassPathXmlApplicationContext en Standalone Java class
- 23. Java: ¿Qué es "para (;;)"
- 24. ¿Qué es exactamente Java?
- 25. ¿Deben probarse los objetos de dominio y los JavaBeans simples?
- 26. JavaBeans e introspección: ¿mal estado en propiedades booleanas e indexadas?
- 27. ¿Por qué Object.class == Class en Ruby?
- 28. ¿Qué es "@Override" allí en java?
- 29. ¿Es legal extender la clase Class?
- 30. ¿Qué hace @class en Objective-C?
"plain-vanilla" no es un término técnico. Es un coloquialismo que significa más o menos lo mismo que "simple" o "no mejorado". –