Solución reutilizable a problemas de diseño similares que se presentan en cualquier desarrollo de software
Los patrones de diseño son el esfuerzo que hizo gente de cómputo para discutir los problemas comunes a un desarrollo de sistemas.
En el libro "Design patterns: Elements of Reusable Object Oriented Software", Erich Gamma, Richard Helm, Ralph Johnson y John Vlissides ( Gang-Of-Four o GoF); conjuntaron todos los patrones de diseño posibles
Los patrones de diseño se clasifican en tres:
* Creacion. La manera de crear objetos
* Estructura. La manera de organizar objetos
para que se relacionen entre sí
* Comportamiento. La manera de organizar objetos
en su dinámica o evolución
todos están orientados a que se obtenga un sistema con acoplamiento bajo y cohesion alta, y por ende, flexible, reutilizable y parametrizable.
Delegación
Interfase
Inmutable
Interfase Marcada
Método Fábrica (Factory Method)
Fábrica Abstract (Abstract Factory )
Constructor (Builder )
Singleton
Prototipo
Adaptador(Adapter)
Decorador(Decorator)
Fachada(Facade)
Apoderado(Proxy)
Compuesto(Composite)
Puente(Bridge)
FlyWeight
Estrategia(Estrategy)
Método Plantilla (Template Method)
Observador (Observer)
Comando(Command)
Estado(State)
Interprete(Interpreter)
Cadena de responsabilidades (chain of responsibility)
Iterador (Iterator)
Mediador (Mediator)
Memento
Visitante (Visitor)