====== Examen Parcial - 75.07. Algoritmos y Programación III - 14/06/2013 ======
**Cátedra:** Fontela\\
**Fecha:** Primera Oportunidad - (Primer Cuatrimestre) 2013\\
**Día:** 14/06/2013
Esta página está incompleta; podés ayudar completando el material.
===== Enunciado =====
==== Punto I ====
¿Pude explicar la diferencia entre validación y verificación? ¿Cuál de ambos conceptos le parece más relevante en el contexto de ATDD? ¿Por qué?
==== Punto II ====
Explique qué ventajas ofrece el tipeo estático sobre el dinámico. Hay autores que dicen que la falta de genericidad era un déficit en los lenguajes de tipeo estático. ¿Por qué?
==== Punto III ====
¿Qué ventajas ofrece TDD como método de diseño? Enumere y explique todas las que conozca.
==== Punto IV ====
El principio de **segregación de interfaz** sostiene que las clases clientes no deben depender de métodos que no utilicen en las clases de las que dependen. Analice las dos clases que siguen y determine si cumplen con este principio (ignore otros problemas de diseño que pueda haber). Si no lo cumpliesen, proponga una solución que sí lo cumpla.
{{http://s2.subirimagenes.com/imagen/previo/thump_8567429class-diagram0.png}}
public abstract class Mailing {
// Varios atributos y métodos
public void enviarMail() {
for (Alumno alumno: listaAlumnos) {
if (condicionParaEnviar()) {
servicioMail.enviar(alumno.getEmail(), alumno.getNombre(), asunto(), mensaje());
}
}
}
===== Resolución =====
===== Discusión =====
Si ves algo que te parece incorrecto en la resolución y no te animás a cambiarlo, dejá tu comentario acá.