Réifier

Définition, exemples et bonnes pratiques

À retenir

  • Passage d'une idée abstraite à un objet informatique concret.
  • Permet de manipuler des règles ou des relations comme de simples données.
  • Concept clé pour la flexibilité des systèmes logiciels avancés.

Réifier consiste à transformer un concept abstrait, une règle ou une action en un « objet » bien réel que l'ordinateur peut manipuler, stocker ou modifier. C'est comme si, au lieu de simplement suivre une règle de circulation, on en faisait un panneau physique que l'on peut déplacer ou repeindre.

Étymologie

Vient du latin res (la chose) et du suffixe -ifier (faire, transformer). Littéralement, cela signifie « transformer en chose ». Le terme est passé de la philosophie à l'informatique pour décrire la matérialisation d'une idée en une structure de données concrète.

Exemples d'usage

  • En programmation, transformer une fonction (une action) en un objet que l'on peut passer en paramètre à une autre fonction.
  • Dans le Web sémantique (RDF), transformer une affirmation (ex: "le ciel est bleu") en une ressource à part entière pour pouvoir préciser qui a fait cette affirmation ou à quelle date.
  • Transformer une relation entre deux utilisateurs (ex: l'amitié) en un objet de type Relation contenant la date de début et le niveau d'affinité.

Cas d'usage

On utilise la réification dans la programmation orientée objet pour manipuler des concepts complexes, dans le Web sémantique pour décrire des métadonnées sur des données, et lors de la création de langages de programmation pour permettre au code de s'analyser lui-même (réflexion).

Bonnes pratiques

La réification est puissante mais complexifie le modèle de données. Il faut l'utiliser uniquement lorsqu'il est nécessaire de traiter un concept ou une relation comme une donnée indépendante. Évitez de tout réifier au risque de rendre votre code lourd et difficile à lire.

Synonymes

matérialiser concrétiser objectiver

Antonymes

abstraire dématérialiser

Conseil

Pour bien comprendre, imaginez une commande dans un restaurant : au lieu d'être juste un cri du serveur vers la cuisine, elle devient un bon de commande (objet) que l'on peut dater, horodater, annuler ou modifier. C'est cela, la réification.

Questions fréquentes

Pourquoi réifier une donnée ?

Cela permet d'ajouter des informations supplémentaires sur un concept qui n'était auparavant qu'une simple étape ou une relation invisible.

Quelle est la différence avec l'instanciation ?

L'instanciation crée un exemplaire d'un modèle défini, alors que la réification rend « physique » (en mémoire) un concept qui n'était pas forcément prévu pour être un objet au départ.