Je me suis arrêté là en fait. Une algue qui est un animal ?!
Ouais, bon, j'ai pas dit que ma hiérarchie était scientifiquement correcte… Je l'ai fait ainsi parce que ça m'arrangeais bien.
Merci pour vos liens sur les ECS, je m'en vais un peu lire tout ça et je reviendrai avec mes questions, je risque bien d'en avoir avec toute la matière qu'il y a.
En n'ayant encore rien lu pour le moment (même pas wikipédia), il semblerait que ma stratégie ne soit pas si éloignée des ECS que ça en fait, si je m'en remets à votre définition succinte.
Ce qui me fait dire ça c'est que techniquement, dans mon implémentation actuelle, je peux déjà changer le mode de reproduction ou de nourriture d'un poisson donné à la volée si je veux. Les classes spécialisées (Carpe, Sole, Clown, etc.) ne font qu'une dizaine de lignes en fait ! Extrait, ici la classe Thon :
| public Thon (Aquarium a, String name, boolean female) {
super(a, name, female, CARNIVORE, MONOSEXE);
}
|
Où CARNIVORE et MONOSEXE désignent bien des parties de comportements.
Là où je dois m'être éloigné et probablement suivi la mauvaise route, c'est que j'aurais dû faire une Factory au lieu de définir 6 classes distinctes; en fait je me rends compte que ça ne m'apporte pas grand chose d'avoir ces 6 classes, juste une petite facilité pour détecter deux poissons de la même espèce, avec un inconvénient ailleurs quand il s'agit de cloner un poisson nouvau-né.