Voici une réflexion que m'a partagé un développeur sénior et accessoirement chef de projets... je vous la partage :
"Avant d'implémenter un pattern (Visitor en l'occurence), il faut se poser la question suivante et faire un choix :
- Soit on ne l'implémente pas et on prend un débutant pour le maintenir (pas cher).
- Soit on l'implémente et on se paye un expert (plus cher)."
L'idée sous-jacente est le fait qu'implémenter le design pattern visitor a un coût de maintenance plus élevé que de ne pas l'implémenter. L'autre idée est qu'un design pattern, c'est manifestement trop complexe (compliqué ?) pour le comprendre et le maintenir pour un développeur junior.
Le fait est que les design pattern sont encore assez méconnus. Autour de moi les gens ont entendu le terme "design pattern" mais ont encore du mal à y poser l'idée qu'il y a derrière. Personnellement je ne connais pas les design pattern (à part singleton ;-) mais en revanche je connais leurs intérêts !
Le principal intérêt est que le design pattern est une solution éprouvée aux problème rencontré. C'est à dire qu'il est utilisé par des milliers de développeurs dans le monde et que si tant de monde, les utilisent, c'est sûrement que c'est optimisé et robuste.
En plus de cela, les design pattern sont universels et documentés ! Il suffit de taper "Visitor Design Pattern" dans Live Search pour s'apercevoir qu'il y a tout une littérature qui existe dessus.
Donc si on ne connait pas un design pattern, il est en revanche TRES SIMPLE de retrouver sa documentation sur le web, et de le comprendre. Un double intérêt pour le développeur junior, qui à son tour pourra l'implémenter quand il rencontrera ce type de problème !
Je ne sollicite pas beaucoup mes nombreux lecteurs mais j'aimerai bien avoir leur avis là dessus.