2010-09-15 1 views

Répondre

7

Un haricot/une classe de 'vanille-plaine' signifie une classe très basique ayant habituellement les propriétés suivantes;

  • ne couvre pas ou mettre en œuvre quoi que ce soit
  • A des variables de classe privée
  • a-un constructeur vide
  • a des méthodes standards getter/setter

Ceci est également appelé POJO (Plaine Ancien objet Java). Par exemple;

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; 
    } 
} 
+1

"Ne pas étendre ou implémenter quoi que ce soit" pourrait plutôt être "N'étend ou n'implémente rien à partir d'un framework donné", c'est un peu flou - mais il est bien pour les POJO d'implémenter/étendre les choses. – nos

1

La référence est de le différencier de "plain vanilla" JavaBeans (un best-pratique ancienne pour les widgets GUI réutilisables) et EnterpriseJavaBeans (éléments de la spécification Java EE).

Une classe plain vanilla est une classe qui n'a pas besoin de répondre aux exigences d'un cadre ou d'un schéma.

Une gousse de vanille ordinaire est une classe avec des mutateurs et des accesseurs (c'est-à-dire des getters/setters), mais aucun comportement.

1

Je pense que l'histoire de la "plaine de vanille Java Bean" et POJO se présente comme suit:

  1. Java 1.0 sort, y compris les spécifications Java Bean (par exemple, par défaut cteur, getters/setters pour les propriétés, etc.) pour leur permettre d'interagir avec les éditeurs de style VB.
  2. «Enterprise» Java Beans (EJB) 1.0 sort pour décrire les composants distribués, transactionnels et persistants.
  3. J2EE est annoncé à Java One en 1999 pour nous donner des conteneurs pour gérer le cycle de vie des objets, threading, pooling, etc. et fournir des services d'entreprise comme le nommage, la recherche, etc. pour les EJB. Les gens trouvent que les spécifications EJB 1.0 et 2.0 nécessitent beaucoup de code et fonctionnent pour faire des choses simples.
  4. La réaction contre EJB 2.0 nous ramène à POJO, engendre Spring, Guice et d'autres frameworks DI/AOP qui tentent de simplifier à nouveau les choses.
+0

Merci, l'évolution historique est très utile pour comprendre cela. – Gruber

3

La "Classe Java de plain-vanilla" (aka POJO) est une classe qui a des attributs. Comme son nom l'indique, c'est un Plain Old Java Object.
Idéalement, un POJO ne prolonge aucune classe et n'implémente aucune interface. Il n'a pas non plus d'annotations. Le "Java Bean" (JavaBean) est une classe qui a quelques exigences.

  • Il doit avoir un constructeur par défaut
  • il doit avoir des accesseurs pour ses attributs
  • Il doit implémente Serializable

Ainsi, un JavaBean est une sorte de POJO (pas un POJO idéal car il implémente Serializable) avec quelques restrictions.


Ressources:

Sur le même sujet:

1

Description 'vanille' provient de la crème glacée , je pense, et décrit la saveur habituelle ou basique disponible. Ainsi, les pojos à la vanille sont des pojos sans ornement, simples et simples. Le terme est également utilisé dans la finance et le sexe, et probablement d'autres domaines aussi. (C'est le le plus non technique SO réponse que j'ai posté!)

+0

non technique mais très éclairant – dellasavia

Questions connexes