Teoría patrones GOF
Patrones de Cre
Patrones Estr
Patrones de Comp
100
Los patrones GOF estan divididos en ____ grandes categorias, y GOF es la abreviación de: ___ El total de Patrones GOF es _____ La categoria que tiene menos patrones es la de _____
3 Gang of four 23 creacion
100
Los patrones de creación son (# numero). Uno de los mas usados de esta categoria es el ____________ el cual se asegura que una clase tiene una unica instancia y provee un punto de acceso global a ella.
5 Singleton
100
El numero de patrones de esta categoria de estructura son:____ El total de todos los patrones GOF son____ Por lo tanto los patrones de estructura representan aprox el ___% de los patrones GOF.
8 23 34%
100
Completa correctamente: Los patrones de Comportamiento son el grupo mas ______ ya que posee __x____ patrones en total. En su totalidad representan un ____% del total de los patrones GOF.
grande 10 43%
200
Menciona 3 patrones de Creacion
Abstract factory, Builder, Prototype, Factory method, Singleton
200
En la clase pasada vimos un ejemplo de patron de creacion, el cual pasaron a demostrarlo ___ compañeros y luego la maestra lo explico. Ese Patron era: ____________ y lo podemos describir como un patron que sirve para ______________
3 El Factory Method crea una instancia de varias clases derivadas (como fabrica en serie)
200
Un patron muy usado de esta categoria (de Estructura) es el patron __________ el cual separa la interfaz de un objeto de su implementacion.
Bridge
200
Los patrones de comportamiento GOF tienen como principal objetivo ___________________________
Permitir resolver problemas relacionados con el comportamiento de la aplicación, normalmente en tiempo de ejecución.
300
Menciona 4 patrones de Comportamiento
Interpreter, Chain of responsibility, Command, Iterator, Mediator, Memento, Observer, State, Strategy, Visitor,
300
Define que es un patron de GOF de creacion (principal objetivo)
Abstraen la forma en la que se crean los objetos, permitiendo tratar las clases a crear de forma genérica, dejando para más tarde la decisión de qué clases crear o cómo crearlas.
300
Los patrones estructurales se ocupan de? y estudian que?
Se ocupan de cómo se utilizan clases y objetos para componer estructuras de mayor tamaño. - Estudian cómo se relacionan los objetos en tiempo de ejecución y sirven para diseñar las interconexiones entre los objetos.
300
El patrón _______ es un patrón de comportamiento que permite relacionar diferentes objetos entre si en torno a uno Principal, así cada vez que este ultimo cambie su estado, los demás también cambiaran de forma automática....
Observer
400
Nombra al menos 2 de los 4 autores de GOF
Erich Gama, Richard Helm, Ralph Johson, John Vlissides,
400
El patron ________________ perteneciente a esta categoria de patrones de creacion evita añadir codigo a las clases existentes con el fin de hacer que encapsule informacion mas genral.
Abstract factory
400
El patron ______ 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 (osea el uso de recursos). Un ejemplo simple podría ser el gestor de ventanas del sistema operativo. Un tema de ventanas poseerá atributos como color de fondo, fuente tipográfica, grosor del borde de la ventana, estilo de los botones… Muchos de estos atributos serán comunes a todas las ventanas, por lo que podríamos almacenar toda esta información en un elemento compartido y hacer una llamada a un método para que, haciendo uso de estos atributos comunes y de los parámetros recibidos por el método, se realice una operación que no requiera una instancia exclusiva para ello.
Flyweight (u objeto ligero)
400
El patrón _________ es, uno de los patrones más utilizados a la hora de diseñar software. Siempre que exista una posibilidad de realizar una tarea de distintas formas posibles, el patrón ______ tendrá algo que decir al respecto. El ejemplo mas conocido para describirlo es el de un protagonista de un videojuego en el cual manejamos a un soldado que puede portar y utilizar varias armas distintas. La clase (o clases) que representan a nuestro soldado no deberían de preocuparse de los detalles de las armas que porta: debería bastar, por ejemplo, con un método de interfaz “atacar” que dispare el arma actual y otro método “recargar” que inserte munición en ésta (si se diera el caso). En un momento dado, otro método “cambiarArma” podrá sustituir el objeto equipado por otro, manteniendo la interfaz intacta. Da igual que nuestro soldado porte un rifle, una pistola o un fusil: los detalles de cada funcion estarán encapsulados dentro de cada una de las clases intercambiables que representan las armas.
Strategy
500
Menciona al menos 5 secciones de los templates de los patrones GOF
Nombre y clasificación. Intención. También Conocido Como. Motivación. Aplicabilidad. Estructura. Participantes. Colaboraciones entre participantes. Consecuencias. Implementación. Código de ejemplo. Usos conocidos. Patrones relacionados.
500
Suponer que se esté desarrollando un juego interactivo que permite al usuario interactuar con personajes que juegan ciertos roles. Se desea incorporar al juego una facilidad para crear nuevos personajes que se añaden al conjunto de personajes predefinidos. En el juego, todos los personajes serán instancias de un pequeño conjunto de clases tales como Heroe, Villano, Principe o Monstruo. Cada clase tiene una serie de atributos como nombre, imagen, altura, peso, inteligencia, habilidades, etc. y según sus valores, una instancia de la clase representa a un personaje u otro, por ejemplo podemos tener los personajes príncipe bobo o un príncipe listo, o monstruo bueno o monstruo malo. Que patron de esta categoria usarias? y porque?
Se utiliza el patrón Prototype para mantener un catálogo de instancias prototípicas que se crean a partir de los personajes predefinidos
500
Sea un conjunto de clases que permiten la creación y envío de mensajes de correo electrónico y que entre otras incluye clases que representan el cuerpo del mensaje, los anexos, la cabecera, el mensaje, la firma digital y una clase encargada de enviar el mensaje. El código cliente debe interactuar con instancias de todas estas clases para el manejo de los mensajes, por lo que debe conocer en qué orden se crean esas instancias; cómo colaboran esas instancias para obtener la funcionalidad deseada y cuáles son las relaciones entre las clases. Indica qué patrón utilizarias para que se reduzcan las dependencias del código cliente con esas clases y se reduzca la complejidad de dicho código cliente para crear y enviar mensajes.
Habría que utilizar el patrón Fachada. Se crea una clase FachadaEmail que proporciona la interfaz necesaria para acceder al subsistema formado por clases como Header, Message, DigitalSignature, SendMessage, etc.
500
Este patrón se vuelve de especial utilidad cuando es necesario realizar un algoritmo que sea común para muchas clases, pero con pequeñas variaciones entre una y otras. En este caso, se deja en las subclases cambiar una parte del algoritmo. Ejemplo de uso del patron. El movimiento de un automóvil puede resumirse en tres pasos: Acelerar, Cambiar Marcha, Frenar. Pero la forma en que se cambia la marcha puede variar de acuerdo al tipo de auto, pues puede ser automática o manual. De acuerdo a lo anterior, podemos establecer lo siguiente, una clase abstracta Automovil que use el patron ______ para que utilice las tres operaciones básicas.
Template method
M
e
n
u