Design Pattern du GoF (Gang of Four)

Design Pattern du GoF (Gang of Four)

 

Les design pattern du GoF (Gang of Four) sont les pattern les plus connu  (Le singleton, proxy, …). Ils ont été publié via le livre http://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612

Ce sont les premiers à avoir popularisé les pattern de conception pour résoudre des problématiques de développements récurentes au travers des design (manière d’assembler des objets et de leur attribuer des responsabilités).

Le travail de Christopher Alexander, un architecte en batiment qui s’est intéressé aux patterns pour répondre aux problématiques de son domaine métier à influencer le travail du GoF (il est cité dans leur ouvrage).

http://en.wikipedia.org/wiki/Christopher_Alexander

http://en.wikipedia.org/wiki/Pattern_language

Article présentant une vue d’ensemble sur ces design pattern : http://www.design-patterns.fr/Introduction-aux-Design-Patterns.html

Il existe également d’autres design pattern tel le MVC (Model View Controller), un systeme de token peut être vu comme un pattern, le Stairway to heaven. Le nom de design pattern peut s’appliquer a toute solution générique de design répondant à une problématique souvent rencontrée.

Au delà des abus que l’on peut rencontrer et des solutions qu’ils apportent ils permettent également d’avoir un langage commun pour échanger lors des discussions technique. Il est plus facile et rapide de dire « je vais implémenter un singleton » que « je vais implémenter une classe avec une unique instanciation possible en fermant le constructeur et en sécurisant l’unique instantiation en cas de multithreading ».

Un petit dernier lien Java pour voir que même un singleton n’est pas forcément simple (prise en compte du double check, si il est lazy ou non, ….) : http://www.javaworld.com/javaworld/jw-04-2003/jw-0425-designpatterns.html?page=1

Auteur: Sébastien NORMAND

En réagissant à cet article, vous nous permettez d'affiner les contenus que nous publions ici !

  • Awesome (0)
  • Interesting (0)
  • Useful (0)
  • Boring (0)
  • Sucks (0)

Si cet article vous a plu, n’hésitez pas à le partager via

Ces articles peuvent également vous intéresser