====== Examen Final - 75.07. Algoritmos y Programación III ======
**Cátedra:** Fontela\\
**Fecha:** Segunda Oportunidad - Primer Cuatrimestre 2007\\
**Día:** 17/07/2007
Esta página está incompleta; podés ayudar completando el material.
===== Enunciado =====
==== Ejercicio I ====
Tome el código que sigue y responda las siguientes preguntas:
- ¿Le parece que esta bien diseñada la clase?
- Si no lo esta, pero funciona, ¿La cambiaria? En ese caso, muestre el diagrama de clases de la solución, y muestre la parte del código que más cambiaria.
- ¿Es seguro hacer estos cambios? ¿Por qué? ¿Qué precauciones tomaría?
public class Cuenta(){
public static final int CTA_CORRIENTE = 0;
public static final int CAJA_AHORRO = 1;
public static final int PLAZO_FIJO = 2;
private int tipo;
private Date fechaVencimiento;
private long saldo;
private long descubiertoAcordado;
//Atributos, constructores y otros métodos
public void depositar(long monto){
saldo +=monto;
}
public void extraer(long monto) throws RuntimeException{
Date hoy = new Date(/);
switch(tipo){
Case CAJA_AHORRO: if (monto > saldo)
Throw new RuntimeException("No hay dinero suficiente");
Case CTA_CORRIENTE: if (monto > saldo + descubiertoAcordado)
Throw new RuntimeException("No hay dinero suficiente");
Case PLAZO_FIJO: if (hoy.before(FechaVencimiento))
Throw new RuntimeException("Todavía no venció el plazo fijo");
}
saldo -= monto;
}
}
==== Ejercicio II ====
- Explique que es una aplicación "enterprise"
- ¿Cuándo utiliza el patrón decorador? ¿Qué ventajas tiene? ¿Por qué es un patrón?