"…mais ce serait peut-être l'une des plus grandes opportunités manquées de notre époque si le logiciel libre ne libérait rien d'autre que du code…"

Design patterns (motifs de conception)

Posted by patrick sur mars 6, 2007

Sources: Extrait du GNU/Linux Magazine N°92 de mars 2007, le GOF1 de 1996.

Je connais les design patterns depuis octobre 1996. C’est en effet à cette date que j’ai acheté le célèbre livre GOF (Gang Of Four: Erich Gamma,Richard Helm, Ralph Johnson, John Vlissides) « Design patterns, catalogue de modèles de conception réutilisables » paru aux éditions « International Thomson Publishing France », Paris, 1996, ISBN 2-84180-054-7.

Les design patterns sont des descriptions de solutions de conception qui créent un vocabulaire pour les développeurs. A l’origine de l’émergence même de la notion même de patterns, on retrouve 2 développeurs smalltalk célèbres, K. Beck et W. Cunningham. Voir le site http://hillside.net/patterns/ .

Les design patterns sont très importants car ils constituent un socle de vocabulaire qui permet aux développeurs de communiquer plus rapidement. Le plus important dans un design pattern est son nom, son intention et la solution. Son nom crée le vocabulaire qui va permettre aux développeurs d’échanger et communiquer de manière plus efficace. Il est très important de comprendre, si vous lisez un livre sur les design patterns, que vous ne preniez pour graver dans le marbre l’implémentation proposée.

Les design pattern sont intéressants car ils permettent aux développeurs d’avoir accès à des solutions éculées, connues et validées par les experts. Un patterns n’est pas une astuce technique ou un hack spécifique à un petit problème spécifique, mais une solution souvent simple à un problème qui se répète. On dit qu’un pattern existe s’il est apparu 3 fois dans des applications ou frameworks différents.

Un brin d’histoire

Les design patterns et Smalltalk sont une longue histoire d’amour. En effet, Kent Beck le guru Smalltalk qui a inventé eXtreme Programming et remis à la mode les tests unitaire, a été un des premiers avec Ward Cunningham à créer un groupe de discussion autour des patterns: le Hillside group. Selon ses propres dires, Ralph Johnson, un des 4 auteurs du fameux livre « Design patterns » aussi appelé Gang Of Four (GOF) était arrivé aux premières réunions de travail avec tous les patterns écrits en Smalltalk.

Il est important de ne pas se soucier son on n’implémente pas un patterns dans son application favorite. Nous le répétons: savoir quand appliquer ou pas un pattern est plus important que l’appliquer. …La version 2 du GOF (en cours d’écriture, mars 2007) verra une certaine refonte dans les patterns représentés. Il existe d’autres livres sur les patterns comme la série « Pattern Languages of Program Design »

Voici personnellement les design patterns que j’ai utilisé:

  • Singleton: ce design pattern est utilisé pour gérer les ressources: on veut s’assurer qu’une seule instance de la ressource est utilisée.
  • Observateur: définit une interdépendance de type un à plusieurs, de façon telle que, quand un objet change d’éta, tous ceux qui en dépendent en soient notifiés et automatiquement mis à jour.

Je vais consacrer 2 billets à ces 2 modèles de conception.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

 
%d blogueurs aiment cette page :