Please enable JavaScript.
Coggle requires JavaScript to display documents.
PATRONES DE DISEÑO, Patrones de Software, Son los que facilitan la tarea…
PATRONES DE DISEÑO
-
Diferencias entre:
-
-
La diferencia entre un patrón arquitectónico y un patrón de diseño, es que este último se usa en un nivel de abstracción de diseño detallado mientras un patrón arquitectónico es usado en un nivel de abstracción de diseño arquitectónico. La arquitectura Modelo-Vista-Controlador es un ejemplo de patrón arquitectónico.
¿Cuáles son?
Patrones estructurales
Adapter: Permite a dos clases con diferentes interfaces trabajar entre ellas, a través de un objeto intermedio con el que se comunican e interactúan.
Bridge: Desacopla una abstracción de su implementación, para que las dos puedan evolucionar de forma independiente.
Composite: Facilita la creación de estructuras de objetos en árbol, donde todos los elementos emplean una misma interfaz. Cada uno de ellos puede a su vez contener un listado de esos objetos, o ser el último de esa rama.
Decorator: Permite añadir funcionalidad extra a un objeto (de forma dinámica o estática) sin modificar el comportamiento del resto de objetos del mismo tipo.
Facade: Una facade (o fachada) es un objeto que crea una interfaz simplificada para tratar con otra parte del código más compleja, de tal forma que simplifica y aísla su uso. Un ejemplo podría ser crear una fachada para tratar con una clase de una librería externa.
Flyweight: Una gran cantidad de objetos comparte un mismo objeto con propiedades comunes con el fin de ahorrar memoria.
Proxy: Es una clase que funciona como interfaz hacia cualquier otra cosa: una conexión a Internet, un archivo en disco o cualquier otro recurso que sea costoso o imposible de duplicar.
Patrones creacionales
Abstract Factory: Nos provee una interfaz que delega la creación de un conjunto de objetos relacionados sin necesidad de especificar en ningún momento cuáles son las implementaciones concretas.
Factory Method: Expone un método de creación, delegando en las subclases la implementación de este método.
Builder: Separa la creación de un objeto complejo de su estructura, de tal forma que el mismo proceso de construcción nos puede servir para crear representaciones diferentes.
Singleton: limita a uno el número de instancias posibles de una clase en nuestro programa, y proporciona un acceso global al mismo.
Prototype: Permite la creación de objetos basados en «plantillas». Un nuevo objeto se crea a partir de la clonación de otro objeto.
-
-
Son los que facilitan la tarea de creación de nuevos objetos, de tal forma que el proceso de creación pueda ser desacoplado de la implementación del resto del sistema.
Son patrones que nos facilitan la modelización de nuestros software especificando la forma en la que unas clases se relacionan con otras.
Se usan para gestionar algoritmos, relaciones y responsabilidades entre objetos.
-