Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Patrones de Disiulkjklgiklghbgfhthgeño
Patrones de Disiulkjklgiklghbgfhthgeño
PATRON
ES DE
DISEÑO
DE
SOFTW
ARE
Facilitador: Ing. Alexis Martínez Bachiller:
A menudo los patrones se confunden con algoritmos porque ambos conceptos describen
soluciones típicas a problemas conocidos. Mientras que un algoritmo siempre define un
grupo claro de acciones para lograr un objetivo, un patrón es una descripción de más alto
nivel de una solución. El código del mismo patrón aplicado a dos programas distintos
puede ser diferente.
Una analogía de un algoritmo sería una receta de cocina: ambos cuentan con pasos claros
para alcanzar una meta. Por su parte, un patrón es más similar a un plano, ya que puedes
observar cómo son su resultado y sus funciones, pero el orden exacto de la
implementación depende del programador.
Algunos catálogos de patrones enumeran otros detalles útiles, como la aplicabilidad del
patrón, los pasos de implementación y las relaciones con otros patrones.
Los patrones más universales y de más alto nivel son los patrones de arquitectura. Los
desarrolladores pueden implementar estos patrones prácticamente en cualquier lenguaje.
Al contrario que otros patrones, pueden utilizarse para diseñar la arquitectura de una
aplicación completa.
Patrones creacionales
Factory Method
Proporciona una interfaz para la creación de objetos en una superclase, mientras permite
a las subclases alterar el tipo de objetos que se crearán.
Abstract Factory
Permite producir familias de objetos relacionados sin especificar sus clases concretas.
Builder
Permite construir objetos complejos paso a paso. Este patrón nos permite producir
distintos tipos y representaciones de un objeto empleando el mismo código de
construcción.
Prototype
Permite copiar objetos existentes sin que el código dependa de sus clases.
Singleton
Permite asegurarnos de que una clase tenga una única instancia, a la vez que proporciona
un punto de acceso global a dicha instancia.
Patrones estructurales
Adapter
Bridge
Permite dividir una clase grande o un grupo de clases estrechamente relacionadas, en dos
jerarquías separadas (abstracción e implementación) que pueden desarrollarse
independientemente la una de la otra.
Composite
Permite componer objetos en estructuras de árbol y trabajar con esas estructuras como si
fueran objetos individuales.
Decorator
Facade
Flyweight
Proxy
Patrones de comportamiento
Chain of responsibility
Permite pasar solicitudes a lo largo de una cadena de manejadores. Al recibir una
solicitud, cada manejador decide si la procesa o si la pasa al siguiente manejador de la
cadena.
Command
Iterator
Mediator
Memento
Observer
State
Strategy
Visitor