![Patrones de diseño en Java [Parte 1] - 1](https://cdn.codegym.cc/images/article/241ebd47-d289-41b2-bcbe-d8722463fd43/800.jpeg)
Tipos de patrones:
- creacional
- estructural
- conductual
Creacional:
-
Singleton: restringe la creación de una clase a una única instancia y proporciona acceso a esa única instancia.
-
Fábrica: se usa cuando tenemos una superclase con varias subclases y necesitamos devolver una subclase según la entrada.
-
Fábrica abstracta: usa una súper fábrica para crear fábricas, que luego usamos para crear objetos.
-
Constructor: se utiliza para crear objetos complejos utilizando objetos simples. Gradualmente crea un objeto grande a partir de un objeto pequeño y simple.
-
Prototipo: ayuda a mejorar el rendimiento al crear objetos duplicados; en lugar de crear un nuevo objeto, crea y devuelve un clon de un objeto existente.
Estructural:
-
Adaptador: un convertidor entre dos objetos incompatibles. Podemos usar el patrón de adaptador para combinar dos interfaces incompatibles.
-
Compuesto: utiliza una clase para representar una estructura de árbol.
-
Proxy: proporciona la funcionalidad de otra clase.
-
Flyweight: reutiliza objetos en lugar de crear una gran cantidad de objetos similares.
-
Fachada: proporciona una interfaz simple para un cliente, que utiliza la interfaz para interactuar con el sistema.
-
Puente: hace que las clases específicas sean independientes de las clases que implementan una interfaz.
-
Decorador: agrega una nueva funcionalidad a un objeto existente sin vincularlo a su estructura.
Comportamiento:
-
Método de plantilla: define un algoritmo básico y permite a los descendientes anular algunos pasos del algoritmo sin cambiar su estructura general.
-
Mediador: proporciona una clase intermediaria que maneja toda la comunicación entre diferentes clases.
-
Cadena de responsabilidad: permite evitar una dependencia estricta entre el remitente y el destinatario de una solicitud; además, la solicitud puede ser procesada por varios objetos.
-
Observador: permite que un objeto supervise y responda a los eventos que ocurren en otros objetos.
-
Estrategia: permite cambiar las estrategias (algoritmos) en tiempo de ejecución.
-
Comando: una interfaz que declara un método para realizar una acción específica.
-
Estado: permite que un objeto cambie su comportamiento dependiendo de su estado.
-
Visitante: se utiliza para simplificar las operaciones en grupos de objetos relacionados.
-
Intérprete: define una gramática para un lenguaje simple en el dominio del problema.
-
Iterador: accede secuencialmente a elementos de una colección sin conocer su forma subyacente.
-
Memento — utilizado para almacenar el estado de un objeto; este estado se puede restaurar más tarde.
Más lectura: |
---|
GO TO FULL VERSION