Patrones de diseño Flashcards

1
Q

Singleton

A

Limita a 1 las instancias que se puede crear de una clase determinada.
CREACIONAL

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Factory Method

A

Proporciona una interfaz para crear objetos en una superclase, mientras permite a las subclases concretar el tipo de objetos que se crearán.

CREACIONAL

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Abstract Factory

A

Permite producir familias de objetos relacionados sin especificar sus clases concretas.

CREACIONAL

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Builder

A

Crea clases especializadas en crear cada parte de un objeto muy complejo (ej Facturas + Lineas+ Condiciones).

CREACIONAL

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Prototype

A

Define el interface de clonación (metodo clone) que deberán implementar ciertas clases de negocio que quieran permitir clonar/duplicar uno de sus objeto para obtener otro idéntico.

CREACIONAL

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Flyweight

A

Si creo p.ej. 30.000 instancias de un objeto, y de repente nos damos cuenta de que hay una determinada info que es la misma (común) en todas las instancias, la solución es sacarlo fuera, a una clase externa. Esa info común la vamos a poner toda en una clase única y una única instancia.

ESTRUCTURAL

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Adapter

A

Una clase A que quiere usar los métodos de otra B pero no sabe o no le viene bien tal cual están definidos. El adapter será una clase intermedia que le ofrece ese método que le viene a A y realizará internamente las llamadas correspondientes a B.

ESTRUCTURAL

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Facade

A

Proporciona para un subsistema (paquete con clases relacionadas) un punto único de acceso que ofrece servicios de más alto nivel que los que ofrece cada una de las clases de ese subsistema individualmente.

ESTRUCTURAL

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Proxy

A

Sobre una clase dada, separa las responsabilidades de negocio en una clase y las otros responsabilidades en otra, de tal forma que las peticiones antes de llegar a la clase de negocio como tal, siempre pasan por la otra (ej. que podría servir para implementar funcionalidades de seguridad, rendimiento…)

ESTRUCTURAL

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Composite

A

De una estructura de contenedores (ej. clases con relaciones de agregación entre ella) ofrece una solucion de contenedores flexible en la que poder crecer tanto en un numero de contenedores como en los tipos de cada uno de ellos-

ESTRUCTURAL

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Decorator

A

Añade responsabilidades extra a un objeto/componente concreto de manera dinámica (en tiempo de ejecución) sin recurrir a la herencia. Lo hace por medio de envoltorios (unos objetos agregan o envuelven a otros y así hasta llegar al componente que será la pieza más interna de esa cebolla).

ESTRUCTURAL

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Bridge

A

Extrae de un componente (abstracción) ciertos grupos de funcionalidades (implementaciones) y relacionarlas con este por composición. Con esto conseguimos que tanto la posible jerarquía de abstracciones como de implementaciones pueda crecer independientemente.

ESTRUCTURAL

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Interpreter

A

Clases para crear un analizador sintáctico de un cierto lenguaje/expresion (introduce el concepto de terminal y no terminal) creando un AST (arbol de sintaxis abstracta).

COMPORTAMIENTO

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Template Method

A

Consiste en definir una clase abstracta con el “esqueleto” de un proceso/algortimo. Algunas de las funciones definidas en esa superclase están preparadas para ser sobreescritas en las hijas y asi terminar de definir dicho proceso.

COMPORTAMIENTO

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Chain of Responsability

A

Representa una serie de objetos enlazados/encadenados de forma que sobre una petición dada, cada uno tendrá un unico cometido funcional y le pasará el control al siguiente “eslabon” de esa cadena.

COMPORTAMIENTO

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Command

A

En lugar de estar añadiendo metodos nuevos a una clase, se trata de “sacar” esos metodos y convertir a cada uno de ellos en una clase.

COMPORTAMIENTO

17
Q

Iterator

A

Define un interface homogéneo (ej. método next) que tienen que implementar las distintas clases de tipo colección. Así los clientes no tendrán que preocuparse por los detalles de como recorrer cada una (dará igual si es un árbol, grafo, lista….siempre se usará el método next).

COMPORTAMIENTO

18
Q

Mediator

A

permite reducir las dependencias caóticas entre objetos. El patrón restringe las comunicaciones directas entre los objetos, forzándolos a colaborar únicamente a través de un objeto mediador

COMPORTAMIENTO

19
Q

Memento

A

clases que guardan la estado actual de un objeto, por si después de una modificación hubiera que dejarlo en el estado original. Es nuestro CTRL + Z

COMPORTAMIENTO

20
Q

Observer

A

Conjunto de clases que se sirven para notificar a ciertos clientes (mediante suscripción) por los cambios que se producen en ciertos objetos.

COMPORTAMIENTO

21
Q

State

A

Consiste en crear una jerarquia de clases que se corresponde con los estados por los que pasa una entidad de negocio y en cada una de estas se define el comportamiento/logica de un estado concreto.

COMPORTAMIENTO

22
Q

Strategy

A

Define un interface para un cierto algoritmo de forma que podamos tener por debajo todas sus posibles versiones/implementaciones.

COMPORTAMIENTO

23
Q

Visitor

A

es una forma de separar el algoritmo de la estructura de un objeto.

COMPORTAMIENTO