Está en la página 1de 5

CUESTIONARIO 2DO BIMESTRE ARQUITECTURA DE APLICACIONES

1.- Conteste (V) Verdadero o (F) Falso a cada uno de los siguientes enunciados
57 Preguntas que están en la guía didáctica.
2.- Comente el propósito de los patrones de creación y liste los patrones que pertenezcan a
esta categoría
Los patrones de diseño de creación abstraen el proceso de creación de instancias, ayudan a hacer a
un sistema independiente de cómo se crean, se componen y se representan sus objetos. Dan
flexibilidad a qué es lo que se crea, quién lo crea y cuando, permiten configurar un sistema con
objetos ¨producto¨ que varían mucho en estructura y funcionalidad. La configuración puede ser
estática o dinámica.
Un patrón de creación de clases usa la herencia para cambiar la clase de la instancia a crear, a
diferencia de un patrón de creación de objetos que delega la creación de la instancia a otros
objetos.
Los patrones de diseño son:
 Abtract Factory
 Builder
 Factory Method
 Prototype
 Singleton
3.- Comente el propósito de los patrones estructurales y liste los patrones que pertenezcan a
esta categoría
Los patrones estructurales se ocupan de cómo se combina las clases y los objetos para formar
estructuras más grandes. Los de clases usan la herencia para componer interfaces o
implementaciones, que permiten establecer relaciones entre clases, los de objetos describen
formas de componer objetos para componer nuevas funcionalidades.
Los patrones estructurales son:
 Adapter
 Bridge
 Composite
 Decorator
 Facade
 Flyweight
 Proxy
4.- Comente el propósito de los patrones de comportamiento y liste los patrones que
pertenezcan a esta categoría
Los patrones de comportamiento están relacionados con el flujo de control de un sistema y la
asignación de responsabilidades a objetos. Se centran en la interacción y cooperación entre clases.
Los de clases: Usan la herencia para distribuir el comportamiento, entre clases. Los de objetos:
Usan la composición de objetos en vez de la herencia. Algunos describen como cooperar un grupo
de objetos parejos para realizar una tarea que un objeto individual puede llevar a cabo por sí solo.
Los patrones de comportamiento son:
 Chain of Responsability
 Command
 Interpreter
 Iterator
 Mediator
 Memento
 Observer
 State
 Strategy
 Template Method
 Visitor
5.- Defina todos los patrones, usando la siguiente estructura.
Tabla de PATRONES.
6.- Enumere los patrones correspondientes. Seleccione la relación correcta

Tipo de patrones Patrones


1. ( ) a-1, b-3, c-2
a) Patrones Creaciones 1. Visitor 2. ( X ) a-2, b-3, c-1
b) Patrones Estructurales 2. Builder 3. ( ) a-2, b-1, c-3
c) Patrones de 3. Proxy
Comportamiento

Tipo de patrones Patrones a) ( ) a-2, b-3, c-1


b) ( ) a-1, b-3, c-2
a) Patrones Estructurales 1. Bridge c) ( X ) a-1, b-2, c-3
b) Patrones Creaciones 2. Abstract
c) Patrones de Factory
Comportamiento 3. Command

a) ( ) a-2, b-3, c-1


Tipo de patrones Patrones b) ( X ) a-1, b-3, c-2
c) ( ) a-1, b-2, c-3
a) Patrones Creaciones 1. Singleton
b) Patrones Estructurales 2. Observer
c) Patrones de 3. Decorator
Comportamiento
7.- Clasifique los siguientes Patrones según su propósito en: creacionales, estructurales, y de
comportamiento. En la columna derecha, escriba la categoría que corresponda.

Patrón Categoría
Builder Creacional
Memento Comportamiento
Facade Estructural
Observer Comportamiento
Singleton Creacional
Proxy Estructural
Abstract Factory Creacional
Adapter Estructural

8.- Elija (marcando con una X) el cuadro correcto que representa la relación entre los
Patrones (filas del cuadro) y tipos de patrones(columnas)

a. Cuadro 1 ( )

Creacionales Estructurales Comportamient


o
Singleton X
Abstract X
factory
Observer X
Facade X

9.- Seleccione el argumento correcto para la siguiente situación:

Ud. está encargado de desarrollar una 1. ( ) Ningún patrón se ajusta a este


funcionalidad de un nuevo sistema, la misma problema
que consiste en Administrar el acceso a una 2. ( ) Builder
impresora de red. Esto conlleva a que deba 3. ( ) Singleton
implementar mecanismos para acceder a una
única instancia de la de acceso a la impresora
(Datos y operaciones), evitando así que dos o Para desarrollar esta funcionalidad elegiría
más procesos de impresión se bloqueen por varios patrones, empecemos con
usar ese recurso concurrentemente. Command: Este Patrón parametrizará a los
Consecuentemente cualquier funcionalidad diferentes usuarios que quieran acceder a
del sistema ajena a la funcionalidad que esta la vez a la impresora, poniéndolos en cola,
construyendo, no debería crear instancias para también debe permitir llevar un registro de
acceder a la impresora. La única forma de las peticiones de manera que se puedan
usar el recurso de la impresora es a partir de la volver a aplicar en caso de perdida por una
instancia que ud. implementa. Que patrón de caída del sistema (también utilizaremos
diseño recomendaría para tal fin. Memento) y puede deshacer las
operaciones, debe facilitar la extensión en
el sistema con transacciones ordenadas y
encoladas.

A esta funcionalidad también le aplicaría


Singleton por que se necesita garantizar
que tenga solo una instancia y que se
proporcione un punto de acceso global a
esta instancia.

¿Qué es patrón de diseño?

Cada patrón describe un problema que ocurre de forma repetitiva, así como su solución, entonces,
se puede aplicar la solución miles de veces, sin hacerlo dos veces, esto según la definición de
Christopher Alexander.

Defina al menos dos elementos esenciales de los patrones.

 Nombre del patrón: Describe en una o dos palabras, un problema de diseño junto con sus
soluciones y consecuencias.
 Problema: Este elemento describe cuando aplicar el patrón, es decir, el problema y su contexto.
 Solución: Describe los elementos que constituyen el diseño, sus relaciones, responsabilidades y
colaboraciones.
 Consecuencias: Son los resultados así como las ventajas e inconvenientes de aplicar el patrón.

Realice un análisis argumentativo de "Herencia frente a Composición"

Las dos técnicas más utilizadas para reutilizar funcionalidad en sistemas orientados a objetos son:

Herencia de Clases:

1. Esta permite definir una implementación en términos de otra (reutilización de caja blanca).
2. Se define estáticamente en tiempo de compilación y es sencilla de usar al estar permitida
directamente por el lenguaje de programación.
3. La herencia rompe la encapsulación.

Composición de Objetos:

1. Esta alternativa vuelta requiere que los objetos a componer tengan interfaces bien definidas
(reutilización de caja negra).
2. Se define dinámicamente en tiempo de ejecución a través de objetos que tienen referencias a otros
objetos.
3. La composición no rompe la encapsulación.

Optar por la composición de objetos frente a la herencia de clases ayuda a mantener cada clase
encapsulada y centrada en una sola tarea.
Defina al menos 4 enfoques para encontrar un patrón de diseño adecuado al problema.

1. Considere como los patrones de diseño solucionan problemas de diseño: Ayudarse con nuestra
guía de patrones, porque de la gran variedad que existe, encontrar el que se ajusta a nuestras
necesidades.
2. Hojee las secciones Propósito: Leer el propósito de cada patrón, hasta encontrar el que parezca
relevante para nuestro problema.
3. Estudie como se interrelacionan los patrones: Esto ayuda a dirigirse al patrón apropiado.
4. Estudio patrones de propósito similar: Se puede leer los patrones por propósito para asimilarlos,
ya que nos puede interesar de creación, estructural o de comportamiento.

1.- EXPRESIONES LAMBDA EN JAVA 8 CON FACTORY METHOD


Las expresiones Lambda en Java 8 se crearon con el fin de reducir y ahorrar código haciendo que
la implementación sea más sencilla, visto que las expresiones Lambda hacen que las funcionen
sean de primer nivel, es decir, en Java 7 y versiones anteriores cuando se quería llamar a una
función, se debía extender la clase y crear las instancias. Ahora, con las expresiones Lambda y su
integración con Factory Method, estas pueden ser invocadas sin la necesidad de extender el
código. Por lo que para el desarrollo de API´s, gracias a este nuevo beneficio, se vuelve más
limpio, organizado y estructurado.

También podría gustarte