Ejercicio de Modelo - Vista - Controlador

Ejercicio de Modelo - Vista - Controlador Ejercicio de Modelo - Vista - Controlador

laurel.datsi.fi.upm.es
from laurel.datsi.fi.upm.es More from this publisher
12.07.2015 Views

Ejercicio MVCGestor de Facturas

<strong>Ejercicio</strong> MVCGestor <strong>de</strong> Facturas


<strong>Ejercicio</strong> MVCObjetivo:• Diseñar una aplicación que <strong>de</strong> el soporte para lagestión <strong>de</strong> facturas.• Cada Factura estará compuesta por Items• Cada Item tendrá concepto, precio, cantidad• La Factura a<strong>de</strong>más tendrá un porcentaje <strong>de</strong> IVAaplicable• Valores como totales, subtotales, importe <strong>de</strong> IVAy número <strong>de</strong> items será datos calculados.


Ejemplo MVC• El diseño lo vamos a <strong>de</strong>scomponer en:– Dos clases Mo<strong>de</strong>lo:• Mo<strong>de</strong>loItem: Cada una <strong>de</strong> las líneas <strong>de</strong> la factura.• Mo<strong>de</strong>loFactura: Contenedor <strong>de</strong> uno o varios Items.– Cuatro clases <strong>Vista</strong>:• – Cuatro clases <strong>Controlador</strong>:• Una por <strong>Vista</strong>.


<strong>Ejercicio</strong> MVC• <strong>Vista</strong>Insertar• <strong>Vista</strong>Listado• <strong>Vista</strong>Editar• <strong>Vista</strong>Totales


Ayudas para el diseño• Comenzar por las dos clases <strong>de</strong>l Mo<strong>de</strong>lo:– Incluir los métodos <strong>de</strong> cálculo necesario.– De partida ya se las pue<strong>de</strong> <strong>de</strong>rivar <strong>de</strong> Observable ycolocar setChanged() y notifyObservers().– En el caso <strong>de</strong> Factura incluir los mecanismos paragestionar la lista <strong>de</strong> Items asociados.• A continuación diseñar las <strong>Vista</strong>s por medio <strong>de</strong>linterfaz <strong>de</strong> diseño <strong>de</strong> NetBeans:– Aseguraos que los componentes <strong>de</strong> cada <strong>Vista</strong> se leasocia un nombre <strong>de</strong> variable apropiado y un permiso“protected”, para que el controlador pueda acce<strong>de</strong>r aellos.


Ayudas para el diseño• A continuación diseñar los <strong>Controlador</strong>es uno a uno:– Es bueno que el controlador conozca la <strong>Vista</strong> asociada asícomo el mo<strong>de</strong>lo principal (Factura).– Implementar los Listener necesarios para los controles <strong>de</strong>esa <strong>Vista</strong>.• Modificar los fuentes <strong>de</strong> la <strong>Vista</strong> para:– Incluir método para fijar el controlador (y hacer losadd….Listener()– Incluir método para fijar el mo<strong>de</strong>lo (y hacer eladdObserver()– Implementar la función update().

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!