ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Patrones De Diseño


Enviado por   •  28 de Junio de 2011  •  1.255 Palabras (6 Páginas)  •  1.614 Visitas

Página 1 de 6

Práctico Patrones de Diseño

Patrones de Creación

1. Dibuje el diagrama de clases correspondiente al patrón Singleton. Y utilizando la sintaxis de Java escríbase una posible implementación del mismo en JAVA.

R:

#include <iostream>

using namespace std;

class Singleton {

int i; //Dato por ejemplo

Singleton(int x) : i(x) { }

void operator=(Singleton&); // Para desactivar

Singleton(const Singleton&); // Para desactivar

public:

static Singleton& getInstancia() {

static Singleton unicaInstancia(47); //P.ej valor 47

return unicaInstancia;

}

int getValor() { return i; }

void setValor(int x) { i = x; }

};

int main() {

Singleton& s = Singleton::getInstancia();

cout << s.getValor() << endl;

Singleton& s2 = Singleton::getInstancia();

s2.setValor(9);

cout << s.getValor() << endl;

return 0;

}

Patrones Estructurales

2. Dado el diagrama de clases que muestra la siguiente Figura, explique cada una de las entidades en él representadas y el papel que desempeña cada una de ellas.

R: Client: Los clientes llaman a las operaciones de un objeto Adaptador.

Target: Define la interfaz específica al dominio que utiliza el cliente.

Adapter: Adapta la interfaz de Adaptee a la interfaz Target.

Adaptee: Define una interfaz existente que necesita adaptación

3.-Bajo qué circunstancias se podría utilizar el patrón antes representado.

R: Para usar una clase existente cuya interfaz no se corresponde con el que se necesita. Para crear una clase reutilizable que coopera con clases imprevistas (esto es, que no tienen necesariamente interfaces compatibles)

El adaptador de objeto sólo: para utilizar varias subclases existentes para las que sería poco práctico adaptar su interfaz heredando de cada una. Un adaptador de objeto puede adaptar la

interfaz de su clase padre.

4. Se quiere desarrollar una aplicación de gestión de stock de una gran superficie comercial. La misma debería proporcionar la información asociada a los productos en stock de diferentes formas, por ejemplo en ASCII o en HTML, ya que no se sabe exactamente qué futura utilidad se le dará a la aplicación. Propóngase una posible implementación que de solución al problema planteado, de forma que la posibilidad de dar lugar a diferentes formatos se pueda abordar de forma no traumática para la aplicación principal.

Patrones de Comportamiento

Este tipo de patrones está relacionado con algoritmos y la asignación de responsabilidades entre objetos. Describen, además de los patrones de objetos y clases, los patrones de comunicación entre ellos. Los patrones de comportamiento de clases utilizan la herencia para distribuir el comportamiento entre las clases, como ejemplo se puede citar al patrón Template Method. Por su parte los patrones de comportamiento de objetos utilizan la composición de objetos en lugar de la herencia, por ejemplo como un grupo de objetos interconectados cooperan para realizar una tarea que un solo objeto no puede hacer por sí mismo, como representante de este tipo de patrones se puede mencionar al patrón Observer. Patrones adicionales de comportamiento son: Chain of Responsability, Command, Interpreter, Iterator, Memento, Mediator, State, Strategy o el Visitor. Seguidamente se proponen una serie de supuestos prácticos cuya solución puede verse favorecida por la utilización de patrones de diseño, concretamente por los correspondientes a los patrones de diseño de comportamiento.

R:

5. Cuál es el patrón que permite simular la dinámica mostrada en un proceso de subasta?. El funcionamiento del proceso es el siguiente, se establece un precio de salida conocido por los participantes, los cuales hacen sus pujas. Las pujas serán conocidas por todos los participantes igualmente, después de un tiempo, una vez establecida la puja más alta el lote será adjudicado a esa puja.

R: El patrón estructural Composite y Decorator

6.¿Cuál es el patrón que permite simular el comportamiento de una máquina expendedora de productos alimenticios?. La misma sólo posee tres estados; recepción del dinero, selección del producto y devolución del cambio en caso de que sea posible.

R: El patrón estructural Iterator

7. ¿Cuál es el patrón que permite representar el siguiente proceso?:

Se quiere automatizar un horno de pan. Se quieren producir diferentes tipos de pan:

Pan blanco: está hecho de la harina que contiene

...

Descargar como (para miembros actualizados) txt (9 Kb) pdf (81 Kb) docx (14 Kb)
Leer 5 páginas más »
Disponible sólo en Clubensayos.com