Comment utiliser les Design Patterns

Erich Gamma est l’un des co-auteurs du livre Design Patterns avec le “gang of four”, co-auteur de Junit avec Kent Beck ainsi que leader du projet eclipse sur la partie java… Eh oui ça le fait comme CV. Et quand Erich Gamma discute avec Bill Venners d’Artima ça donne un excellent papier.

“You really learn about polymorphism when you’ve understood the patterns. So patterns are good for learning OO and design in general”

100% d’accord. Il existe un fossé entre la programmation procédurale et la programmation objet qui est souvent bien difficile à franchir. Ce n’est tout simplement pas la même façon penser. Personnellement je ne connais pas de méthode 100% efficace pour faire “comprendre” l’objet. Mais la remarque d’Erich Gamma me semble tout à fait judicieuse. En y réfléchissant bien il me semble n’avoir vraiment eu le sentiment de bien maîtriser la “pensée” objet qu’après avoir découvert et appliqué les design patterns. Il est difficile de comprendre la puissance de l’objet car le polymorphisme, l’héritage, l’encapsulation… sont des concepts relativement abstrait. Appliquer un design pattern à un problème de code rend les principes de l’objet concrets.

D’autres remarques on ne peut plus pertinente sur les design patterns:
– Inutile de démarrer une conception en se disant je vais utiliser un maximum de pattern.
– Il vaut mieux adopter une démarche “refactoring to pattern”.
– Un design pattern, plusieurs implémentations possibles.
– La raison d’être des design patterns est la réutilisation et l’extensibilité
– Les design patterns fournissent un vocabulaire commun pour décrire et discuter d’une conception.

Il parle ensuite de la conception de Junit et de “pattern language”, et on attend la suite qui devrait être publié le 30 Mai…