T: / Méthodologies POO et tests unitaires
5 classes à coder, dont 2 Value Object, qui sont des classes servant à stocker des informations de manière structurée.
Voici une proposition de diagramme UML à suivre pour résoudre le challenge EXPLORER_2 :

Il contient 2 « Values Objects » (appelés aussi « Data Object »), leur rôle principal est de contenir et représenter des données. Au lieu de stocker les informations dans un tableau ou au travers de plusieurs variables, on crée une classe qui regroupera les valeurs. Un Value Object est donc souvent composé d’attributs pour stocker les données et de méthodes pour accéder (getters) et, si nécessaire, modifier (setters) ces données.
Les objets FieldScore et Field sont ici des Value Object. Selon le langage utilisé, des getteurs peuvent être mis en place.
Si on code en PHP, voici à quoi pourrait ressembler le programme principal :
$explorer = new Explorer;
$explorer->setPlanets($planetes); // Je définis mes planètes
$explorer->setScores($scores); // Je définis mes scores de notation
$explorer->calculPlanetsScore(); // Je calcul les scores
$reponse = $explorer->searchBestPlanet();
A toi de coder !
N’oublie pas, le but de ce contenu est de proposer une conception permettant de résoudre le challenge avec un code objet et donc de progresser sur cette pratique. Ce n’est pas une réponse absolue et unique 😉