À 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
Clientqui 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
Antonymes
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.