Los patrones de diseño se clasifican principalmente en tres categorías: Patrón de diseño creacional, patrón de diseño estructural y patrón de diseño conductual. Estos se diferencian entre sí según su nivel de detalle, complejidad y escala de aplicabilidad a todo el sistema que se está diseñando.
También hay dos tipos de patrones: modismos y patrones arquitectónicos. Pero no los exploraremos en este tutorial.
Patrón de diseño creacional
Como sugiere el nombre, proporciona el mecanismo de creación de objetos o clases que mejora la flexibilidad y la reutilización del código existente. Reducen la dependencia y controlan cómo se usa la interacción con nuestra clase para que no tengamos que lidiar con la construcción compleja. A continuación se muestran los diversos patrones de diseño del patrón de diseño creacional.
Fábrica abstracta- Nos permite crear objetos sin especificar su tipo concreto.
Constructor - Se utiliza para crear objetos complejos.
Método de fábrica - Nos permite crear objetos sin especificar la clase exacta a crear.
un objeto en java
Prototipo - Se utiliza para crear un nuevo objeto a partir del objeto existente.
Único - El patrón de diseño Singleton garantiza que solo se cree una instancia de un objeto.
Patrones de diseño estructural
Los patrones de diseño estructural son principalmente responsables de ensamblar objetos y clases en una estructura más grande, asegurándose de que estas estructuras sean flexibles y eficientes. Son muy esenciales para mejorar la legibilidad y el mantenimiento del código. También garantiza que las funcionalidades estén adecuadamente separadas y encapsuladas. Reduce la interfaz mínima entre cosas interdependientes.
Adaptador - Nos proporciona dos clases incompatibles para trabajar juntas envolviendo una interfaz alrededor de una de las clases existentes.
Compuesto - Envuelve un grupo de objetos en un solo objeto.
diccionario de clasificación de Python
Puente - Desacopla una abstracción para que dos clases puedan variar de forma independiente.
decorador - Extiende el comportamiento del objeto dinámicamente en tiempo de ejecución.
Fachada - Ofrece una interfaz sencilla para objetos subyacentes más complejos.
peso mosca - Disminuye el costo del modelo de objetos complejos.
apoderado - Reduce el costo, reduce la complejidad y proporciona la interfaz de marcador de posición a un objeto subyacente para controlar el acceso.
Patrón de diseño de comportamiento
Los patrones de diseño de comportamiento son responsables de cómo una clase se comunica con otras.
Cadena de Responsabilidad - Representa el comando de una cadena de objetos de procesamiento.
fecha de utilidad de java
Dominio - Genera los objetos que encapsulan acciones de parámetros.
Intérprete - Implementa un lenguaje especializado.
Iterador - Accede a todos los elementos de un objeto secuencialmente sin violar su representación subyacente.
Mediador - Proporciona un acoplamiento flexible entre clases al ser la única clase que tiene un conocimiento detallado de sus métodos existentes.
Recuerdo - Restaura un objeto en el estado anterior.
Observador - Permite que varios objetos observadores vean un evento.
Estado - Permite que un objeto modifique su comportamiento cuando cambia su estado interno.
Estrategia - Proporciona una de las familias de algoritmos que se seleccionarán en tiempo de ejecución.
Método de plantilla - Permite que las subclases proporcionen un comportamiento concreto. También define el esqueleto de un algoritmo como una clase abstracta.
visitante - Separa un algoritmo de una estructura de objeto moviendo la jerarquía de métodos a un objeto.
cola y cola de prioridad en java
Aprenderemos algunos patrones de diseño importantes en el próximo tutorial.