POJO

Définition, exemples et bonnes pratiques

À retenir

  • Indépendant de toute bibliothèque ou framework spécifique.
  • Facile à lire, à comprendre et à tester.
  • Représente généralement une entité simple ou une structure de données.

Un POJO est un objet Java tout à fait classique qui ne dépend d'aucune contrainte technique imposée par un logiciel tiers ou un framework complexe. Imaginez un carnet de notes vierge : vous êtes libre d'y écrire ce que vous voulez, contrairement à un formulaire administratif où chaque case est pré-définie et obligatoire.

Étymologie

Acronyme de Plain Old Java Object (littéralement "bon vieil objet Java"). Ce terme a été inventé vers l'an 2000 par Martin Fowler et ses collègues pour valoriser l'utilisation d'objets simples, à une époque où les développeurs étaient contraints d'utiliser des structures très lourdes et complexes appelées EJB (Enterprise Java Beans).

Exemples d'usage

  • Une classe Client qui contient seulement un nom, un prénom et une adresse email.
  • Un objet servant à stocker temporairement les résultats d'un calcul avant de les afficher.
  • Une classe de configuration simple avec quelques paramètres de type texte ou nombre.

Cas d'usage

Les POJO interviennent massivement dans la création de modèles de données, le transfert d'informations entre différentes parties d'un programme (DTO) et les tests unitaires. Ils permettent de manipuler des concepts métier (un article, une commande) sans s'encombrer de la complexité technique du stockage ou du réseau.

Bonnes pratiques

Un bon POJO doit rester "pur" : évitez d'y ajouter des fonctions qui communiquent avec une base de données ou qui gèrent des interfaces graphiques. Utilisez l'encapsulation en déclarant les variables en private et en créant des méthodes getters et setters pour y accéder proprement.

Synonymes

objet simple objet ordinaire POGO (équivalent en langage Groovy)

Antonymes

EJB (Enterprise Java Bean) objet managé entité persistante

Conseil

Si vous débutez, considérez les POJO comme les briques de base de votre logique. Plus votre code repose sur des POJO plutôt que sur des outils complexes, plus il sera facile à maintenir et à faire évoluer dans le temps.

Questions fréquentes

Quelle est la différence entre un POJO et un Java Bean ?

Un Java Bean est un POJO qui suit des règles strictes : il doit être sérialisable, avoir un constructeur vide et des méthodes d'accès nommées d'une façon précise.

Est-ce qu'un POJO peut contenir des méthodes ?

Oui, tant que ces méthodes concernent la logique interne de l'objet (comme un calcul simple) et ne dépendent pas d'outils externes.

Pourquoi ce nom bizarre ?

C'était une manière humoristique de redonner du prestige aux objets simples face aux technologies 'Enterprise' jugées trop pompeuses à l'époque.