domingo, 4 de abril de 2010

Patrones de diseño

Los patrones de diseño son soluciones probadas en diferentes contextos que resuelven los problemas comunes de programación y desde la aparición del libro
"Design Patterns:Elements of Reusable Object Oriented Software"(Pearson Addison Wesley,1995) escrito por la famosisima Gang Of Four GoF (Erich Gamma,Richard Helm,Ralph Johnson, John Vlissides), han estado presentes en el desarrollo de software desde más decada, aunque su utilización es independiente del lenguaje de programación, han sido más conocidos y utilizados por los lenguajes orientados a objetos como C++,Java y por supuesto C#.
En el libro de GoF se describen 23 patrones agrupados en 3 categorías: estructurales, de creacion y de comportamiento.

    De creación
  • Singleton

  • Factory

  • Abstract Factory

  • Builder

  • Prototype



    Estructurales
  • Adapter

  • Bridge

  • Composite

  • Decorator

  • Facade

  • Flyweight

  • Proxy



    De Comportamiento
  • Chain of Responsability

  • Command

  • Interpreter

  • Iterator

  • Mediator

  • Memento

  • Observer

  • State

  • Strategy

  • Template Method

  • Visitor



Los patrones de diseño se aplican en el diseño y en la arquitectura como formulas generales es decir: la idea con los patrones es que cuando se requiera resolver un problema, se identifique el problema y se aplique el patrón o los patrones adecuados para resolverlo, como una forma similar a los matemáticos que aplican una formula o varias formulas según se requiera para resolver un problema.
Lo bueno de esto es que una solución basada en patrones es reusable, extensible, mantenible y sobre todo elegante.