Projet : Amélioration des objets cartes

Une fois la carte créée, il ne faudrait plus pouvoir la modifier. Or pour l'instant on a directement accès aux attributs, donc rien n'interdit de le faire.

Pour pallier ça, il suffit de définir un accesseur sans mutateur pour les 2 attributs valeur et couleur. Cela permet :

On a alors créé un value object c'est à dire un objet non mutable, comme un entier ou une chaîne de caractères en python.

En utilisant @property, créez et testez des accesseurs pour les attributs valeur et couleur.

Si on a le choix :

Méthode de conception

Lorsque l'on crée un objet, si on a pas de raison particulière de le rendre modifiable on crée un value object. Cela évite les effets de bords (et rend la programmation concurrente et parallèle bien plus simple).