Envoyé par
koala01
En fait, j'ai peut être mal exprimé le message que j'essaye de faire passer...
Ce qui m'embête énormément, c'est la présence de mutateurs, de manière générale, et dans une moindre mesure, la présence d'accesseurs.
En effet, l'attribut "position" d'un objet ne doit déjà pas forcément etre accessible en lecture, car ton moteur de rendu devrait, en définitive, agir comme un visiteur qui se "contenter" de parcourir les différents objets de ta scene et de leur demander... de s'afficher (au travers d'une methode draw() :question:)
Mais un mutateur a encore moins à faire dans l'interface, car, l'objet devrait être considéré comme correctement initialisé (comprend: en ce qui concerne la position, qu'il devrait... directement être correctement positionné) et que, si, pour une raison ou une autre, l'attribut d'un objet venait à être modifié "en cours de route" (entre deux rendus), il s'agirait en réalité d'appeler un comportement qui... s'assure de respecter certaines règles et conditions avant de valider le changement.
Et cette logique est susceptible de s'appliquer à n'importe quel attribut: si modification il y a, elle ne devrait (la plupart du temps) pas être effectuée de manière absolue en précisant un nouvel attribut, mais bien de manière relative (à la "situation propre" de l'objet) et être considérée comme... une transition entre deux états qui seront évalués (au moment du rendu "suivant").
Fatalement, si modification il y a, il s'agit de considérer le fait qu'un certain intervalle de temps s'écoule entre deux évaluations de l'état, et que cet intervalle mérite, peut être, d'entrer en ligne de compte au moment du calcul de la transition.