Please enable JavaScript.
Coggle requires JavaScript to display documents.
PATRONES DE DISEÑO - Coggle Diagram
PATRONES DE DISEÑO
¿QUE ES?
-
-
Los patrones promueven y facilitan la reutilización de arquitecturas y diseños de software que han demostrado su validez en muchas aplicaciones
-
-
-
-
Singleton
Restringe la creación de objetos pertenecientes a una clase o el valor de un tipo a un único objeto.
Mediator
A modo de “Man in the middle”, define un objeto que encapsula como interactúan un conjunto de objetos. Promueve un bajo acoplamiento al evitar que los objetos se refieran unos a otros explícitamente, y permite variar la interacción entre ellos de forma independiente.
Iterator.
Este patrón se basa en el recorrido de todos los elementos de una colección, una vez cada uno, y sin seguir un orden en concreto.
Strategy.
Es el primer patrón de los que vemos que se centra en el polimorfismo. Determina como se debe realizar el intercambio de mensajes entre diferentes objetos para resolver una tarea. Mantiene un conjunto de algoritmos de entre los cuales el objeto cliente puede elegir aquel que le conviene e intercambiarlo dinámicamente según sus necesidades.
Command.
Este patrón es prácticamente idéntico al “Strategy”. En él se solicita una operación, encapsulando dicha petición en un objeto, de forma que no sea necesario conocer el contenido de la misma.
Factory Method
Es un caso especial de “Template Method”, aplicado únicamente para los métodos que involucren la creación de objetos. Un “Factory Method” en una clase es un método público de creación de objetos de esa misma clase.
Decorator.
Proxy es un caso particular de “Decorator”, pero estudiamos Proxy primero porque es más fácil de entender. Un “Decorator” se emplea para mejorar la funcionalidad de una clase a la que envuelve (que ya funciona sin él), pero no altera las salidas que ésta produce.
Flyweight.
El patrón Flyweight (u objeto ligero) sirve para eliminar o reducir la redundancia cuando tenemos gran cantidad de objetos que contienen información idéntica, además de lograr un equilibrio entre flexibilidad y rendimiento (uso de recursos).