Please enable JavaScript.
Coggle requires JavaScript to display documents.
PATRONES DE DISEÑO, sus características son:: - Coggle Diagram
PATRONES DE DISEÑO
Beneficios
-
-
-
-
Proporcionan un lenguaje común. Los nombres de los patrones forman parte del vocabulario técnico del ingeniero software.
Problemas
Los patrones, no llevan de forma directa a la reutilización del código, aunque dicha reutilización se facilita mediante su uso.
-
El número de patrones identificados es cada vez más grande. Las clasificaciones actuales no siempre sirven de guía para decidir cual usar.
Los patrones se validan por la experiencia y el debate, no mediante la aplicación de técnicas formales
-
Son descripciones de clases y objetos relacionados que están adaptados para resolver un problema de diseño general en un contexto determinado
-
Los patrones pueden clasificarse en creacionales, estructurales y de comportamiento, pero por nivel de dificultad estos piden ser clasificados de:
Sencillos
Facade
Provee de una única interfaz para acceder a un sistema completo, que actúa como único punto de acceso al mismo, y hace que éste sea más fácil de utilizar.
Singleton
Restringe la creación de objetos pertenecientes a una clase o el valor de un tipo a un único objeto.
Mediator
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
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
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
State
Se basa en el polimorfismo y se centra en una única superclase o interfaz, con un número arbitrario de subclases.
Templated Method
Este patrón también se basa en el polimorfismo. Se trata de una alternativa a Strategy, en la que una superclase sirve de plantilla de los métodos en las subclases
Facory Method
Un “Factory Method” en una clase es un método público de creación de objetos de esa misma clase.
-
Prototype
Se trata de un patrón muy simple, pero poco utilizado. Se basa únicamente en la creación de objetos mediante clonación de otros.
Intermedios
Proxy
Se basa en la idea de un proxy web, que proporciona recursos
Decorator
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.
Adapter
El patrón Adapter (Adaptador) se utiliza para transformar una interfaz en otra, de tal modo que una clase que no pudiera utilizar la primera, haga uso de ella a través de la segunda.
-
Avanzado
Composite.
Este patrón define una estructura en forma de árbol, y permite construir objetos complejos a partir de otros más sencillos de una forma recursiva.
Interpreter
Es el único patrón destinado a un dominio específico. Dado un lenguaje, el patrón “Interpreter” define una representación para su gramática y un intérprete para su lenguaje.
Chain of responsability (cadena de responsabilidad).
Siguiendo una estructura “Composite”, para atender una petición, los objetos inferiores tratan de realizar el trabajo y, si no pueden, se lo pasan a los objetos padre, y así sucesivamente hasta que la petición llegue a un objeto que pueda realizar el trabajo requerido.
Abstract Factory.
Es uno de los patrones más importantes y utilizados, que se emplea para la creación de familias de clases. Las bibliotecas de GUIs suelen utilizar este patrón, en el que cada familia suele ser un sistema operativo distinto.
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).
Visitor.
Este patrón actúa de sustituto a la herencia múltiple. Se tiene un conjunto de clases Elemento que conforman la estructura de un objeto.
-