Los patrones ayudan a estandarizar el código haciendo que el diseño sea mas comprensible para otros programadores.
Los Patrones de Diseño constan de 3 partes:
Contexto ----> Problema ----> Solución
Cualidades de los Patrones de Diseño
- Permiten aplicar las mejores prácticas de diseño de software en cualquier desarrollo
- Aplica soluciones estandard a problemas estandard.
Familia de Patrones
No son mas que una colección de Patrones que resuelven un mismo problema. Cada Patrón define problemas específicos y resuelve fuerzas comunes en distintas formas. Dichos Patrones de esta familia de Patrones forma un sistema para que puedan ser utilizados para desarrollar trabajos en un dominio específicos.
Qué compone un Patrón?
- Nombre (Descriptivo)
- Intención (Qué hace? Qué soluciona?)
- Motivación (Un escenario que demuestra como el patrón soluciona el problem en cuestión)
- Aplicación (En qué situaciones puede aplicarse y en cuales no)
- Estructura (Representación gráfica podría ser usando UML, diagrama de clases)
- Participantes (clases y objetos junto con sus responsabilidades)
- Colaboraciones (Cómo dichos participantes llevan a cabo sus responsabilidades)
- Consecuencias (Pros y Contras del uso de este Patrón)
- Código de ejemplo (fragmentos de código en algún lenguaje orientado a objetos)
- Usos conocidos (En qué ejemplos del mundo real se ha implementado cada patrón)
- Patrones relacionados (Otros patrones que podrían ser aplicados al mismo problema pros y contras)
Clasificacion de Patrones
- Patrones creacionales: Utilizado para instanciar objetos. Separan la lógica de creación de objetos y la encapsulan.
- Patrones de Comportamiento: Definen como las clases y los objetos interactúan entre ellos.
- Patrones Estructurales: Utilizados para crear clases u objetos que incluidos dentro de estructuras más complejas.
Patrones Creacionales
Los Patrones Creacionales son los siguientes:- Abstract Factory: Nos brinda una interfaz para crear familias de objetos relacionados sin tener que especificar sus clases concretas desde la clase cliente (la clase que los solicita). Ver un buen ejemplo aqui y otro aqui ejemplo
- Builder: Permite crear elementos complejos a partier de los elementos que lo componen
- Factory Method
- Prototype
- Singleton
Patrones Estructurales
Los Patrones estructurales son los siguientes:
- Adapter (class)
- Adapter (object)
- Bridge
- Composite
- Decorator
- Facade
- Flyweight
- Proxy
Patrones de Comportamiento
- Interpreter
- Template Method
- Chain of Responsability
- Command
- Iterator
- Mediator
- Mementos
- Observer
- State
- Strategy
- Visitor
No hay comentarios:
Publicar un comentario