• Inscripción de jugadores a una liga de fútbol • En una forma HTML el jugador selecciona la liga (año y temporada), da su nombre y dirección y selecciona la división • Se validan datos • Se almacena información de jugador y registro • Se envía página de error o de inscripción OK • Requiere lista de ligas válidas en archivo plano Arquitectura de una solución Diagrama de actividad Evaluación de esta solución • Pobre modularización • Suponga un nuevo caso de uso: crear nuevas ligas • Pasar el almacenamiento de archivos planos a bases de datos El patrón MVC El patrón MVC • Modelo: Servicios del negocio y objetos dominio de la aplicación (normalmente clases Java) • Vista: La ventana que se presenta al usuario (normalmente JSP) • Controlador: Recibe las acciones de usuario, actualiza el modelo y selecciona la siguiente vista (normalmente un servlet) Diagrama de secuencia de MVC El modelo de dominio • Class League • Class Player • Class Registration que asocia League y Player y asigna una Division Los servicios del modelo • Los objetos del dominio no realizan operaciones del negocio • Para esto se crean clases de servicio • Class RegisterService – getLeague – getPlayer – register • Class LeagueService – Maneja los objetos League – getLeague – populateLeagueSet Modelo de servicios Solución MVC El alcance de un request El alcance de un request • Métodos de HttpServletRequest. – void setAttribute(String, Object) – Objetct getAttribute(String) • Permiten almacenar y recuperar objetos de un objeto HttpRequest