Définition
Solution d'un problème classique de programmation,
revenant régulièrement dans des contextes variés: gestion de
listes chaînées, tri, unicité d'instance, etc.
L'identification d'un tel motif récurrent permet de lui créer
une solution optimale et réutilisable dans le cas général, et
en cas de besoin d'en dériver une solution optimisée pour le
cas particulier, en évitant les erreurs d'une implémentation
ex nihilo.
L'importance de ces motifs et de leur utilisation dans un
processus de développement est connue notamment depuis le
célèbre "Software Tools" de B.W. Kernighan et P.J. Plauger
(janvier 1976), et une première liste de motifs depuis le
"A Pattern Language: Towns" de Christopher Alexander (1979).
Les L3G non orientés objet n'encourageant pas ce
type de démarche, ce n'est qu'au milieu des années 80, avec les
patterns du GoF que cette technique finit par
se répandre dans la programmation professionnelle,
avec l'aide notamment de la génératlisation des outils de
modélisation, puis de la notation UML.
Epoque du terme