Théorie 2.2: graphe d’objets #
-
Un modèle Java contient des références
- Un
Personnageapparaît dans plusieursFilm - Un
Filmcontient plusieursPersonnage
- Un
-
Très souvent, ces références forment des boucles
- Le
PersonnageJames Bond apparaît dans deux films: Dr. No et Bon Baisers de Russie - Le
FilmDr. No contient deux personnages: James Bond et Dr. no
- Le
-
On parle alors de graphe d’objets (plutôt que de tableau d’objets)
Graphe d’objets en JSON #
-
JSON n’a pas de notion de référence
-
Dans ce cours, on ajoute un objet spécial
{"_R":"/chemin/vers/objet/cible"}pour représenter certaines références- (sans l’objet spécial, on ne peut pas représenter les boucles)
-
Par exemple, le graphe ci-haut est représenté comme suit en JSON
{
"_C": "DrNo",
"titre": "Dr. No",
"personnages": [
{
"_C": "Personnage",
"films": [
{
"_R": "/"
},
{
"_C": "Film",
"titre": "Bons Baisers de Russie",
"personnages": [
{
"_R": "/personnages/0"
},
{
"_C": "Personnage",
"films": [
{
"_R": "/personnages/0/films/1"
}
],
"nom": "Rosa Klebb"
}
]
}
],
"nom": "James Bond"
},
{
"_C": "Personnage",
"films": [
{
"_R": "/"
}
],
"nom": "Docteur No"
}
]
NOTE:
- on ne va pas vous demander d’écrire du JSON avec l’objet spécial
{"_R":"/chemin/cible"} - il vous faut uniquement comprendre que ça existe
- et comprendre la notion de graphe d’objets en POO