Les design pattern GoF - 1 ère partie


Définition

Un design pattern ou pattern de conception est une architecture de classes qui forme une solution à un problème fréquemment rencontré lors des phases d'analyse et de conception d’applications.

 Un pattern est donc une façon de faire, permettant d’utiliser des solutions connues et éprouvées dont la conception provient de l’expérience de programmeurs.

 Les design Patterns permettent de :        
  • Simplifier les phases d’analyse et de conception en réutilisant des solutions existantes.
  • Structurer l’application et rendre le code plus lisible et simple à maintenir.
  • Réduire la complexité de l’architecture des applications.
  • Etablir une terminologie commune en fournissant un point de référence commun au cours de la phase d'analyse et de conception d'un projet.
Mais attention, avant d’appliquer un design pattern il faut bien identifier le problème pour choisir le design pattern adéquat. Le plus important est  donc comprendre et savoir quel problème chacun des designs pattern permet de résoudre
Classification
Les principaux auteurs des Design Patterns (Erich Gamma, Richard Helm, Ralph Johnson et John Vlissides), ont dégagés 23 principaux, sont plus connus sous le nom du : « Gang Of Four ».

Ces design patterns sont classifiés selon deux critères, le premier c’est « purpose »  indiquant en quoi est utilisé le pattern on distingue trois types, les patterns de création (creational pattern), les patterns de structure (structural pattern) et les patterns de comportement (behavioral pattern).

Le deuxième critère c’est « scope » qui spécifie si le pattern est appliqué pour les objets ou les classes.

Les classes pattern  décrivent la relation entre les classes et  les super-classes, cette relation est basée sur l’héritage,  elle est donc fixée lors du compile-time. Les patterns d’objet décrivent la relation entre les objets, cette relation est dynamique et spécifiée lors du  run-time.

design patterns

Aucun commentaire: