Alors, vous avez trouvé ?
En fait, une bonne pratique consiste à s’inspirer du patron Iterator. Nous n’allons pas implémenter un itérateur (quoi que cela soit possible), mais simplement utiliser l’itérateur existant dans l’API java (sous la classe du même nom : java.lang.Iterator
).
🖥 TODO
- Documentez-vous sur le patron Iterator. Vous pouvez aussi lire l’article https://blog.zenika.com/2010/10/31/au-coeur-du-jdk-l-interface-iterable/
- Faites en sorte que la classe
DrawingPane
implémente l’interfacejava.lang.Iterable
- Supprimez la méthode
getShapes()
et remplacez ses appels (dans l’application, et dans les tests) pour qu’ils utilisent plutôt la nouvelle méthode.
💡 À retenir : lorsque vous encapsulez une collection au sein d’une classe, pensez à l’interface Iterable ; votre code sera mieux encapsulé et plus facile à utiliser !