logo

Clasificación de patrones de diseño

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.