moyen d'accès à l'objet "encapsulateur"

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

bonjour,

je me suis laissé tenter de résoudre le récent défi de clémentine sur le sudoku.

ayant créé un objet "grille de sudoku", qui contient un tableau 2D de "cellule de nombre". évidemment, c'est peut-être pas optimisé, pas facile de s'y retrouver, etc… bref je sais pas ce que vous en pensez, mais j'ai comme envie de tester quand même avec une structure de ce style.

sauf que j'ai comme un soucis. j'aimerais que chaque cellule soit capable de sonder toute la grille pour savoir si la valeur qui lui est affectée est valide. je recherche donc le moyen de pouvoir "appeler" la grille depuis la case.

quelqu'un a une idée, à part refiler une référence de la grille à la case dans son constructeur? une fonction du style "agregator()" par exemple, ça m'aiderait :p

Édité par remace

Oui. Non. Attends, je regarde mieux et je te dis.

+0 -0

Bonjour !

Ton gros problème c'est que tu cherches à faire et le lien contenant->contenu, et le lien contenu->contenant. Du coup, le rôle des deux classes s'estompe un peu.

Je vois plusieurs manière de t'en sortir sans trop approfondir :

  • Tu peux rajouter un objet intermédiaire : grille -> case -> validateur -> grille
  • Tu peux laisser la vérification à un objet extérieur à la case : validateur -> grille -> case
  • Tu peux donner une certaine interface à la grille que tu utilises dans la case pour valider : grille -> case -> interface(grille)

De mon point de vue, la seconde reste néanmoins la plus propre !

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte