Définition d'un Value Object (objet-valeur)

Cet article a été publié depuis plus de 6 mois, cela signifie que le contenu peut ne plus être d'actualité.

J'ai déjà parlé plusieurs fois des Value-Object (ou Objet-Valeur en français), que se soit pour tenter de les définir ou pour donner un cas d'utilisation, mais sans jamais en donner une définition simple.

J'ai eu l'occasion d'assister au DDD Day à Lyon qui a eu lieu le 30 janvier dernier. Il s'agissait d'une série de conférences avec pour objectif de démystifier l'utilisation du DDD en PHP.

Lors de cette journée, Matthieu NAPOLI a donné une définition des Value-Object que j'ai beaucoup appréciée car elle est à la fois simple et permet de bien comprendre ce que représente ce concept :

On peut définir un Value-Object comme étant un "wrapper" d'un type primitif ou complexe, auquel on va pouvoir ajouter des règles métiers.