====== 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?