Ce design pattern fait partie de l'ensemble des design pattern proposés pour faciliter la programmation informatique pour le développement des applications. Supposons que l'on a une fonctionnalité implémentée par un objet. Imaginons qu'au fil du temps cette fonctionnalité (et par conséquent l'objet) doit évoluer. Ceci est une contrainte forte qui nous amène à constamment modifier cet objet. Pour parvenir à faire ceci en restant générique, on utilise le pattern Strategy qui propose une solution légère, permettant l'évolution. La solution doit être adaptée à chaque langage de programmation.
On distingue les patterns de :
- Création : comment les objets peuvent être créés.
- Structure : la connexion des objets, le passage entre l'interface et l'implémentation des objets.
- Comportement : le comportement et les interactions des objets.