MVC 130707154055 Phpapp01
MVC 130707154055 Phpapp01
Arquitectura MVC
Interaccin entre el Modelo, la Vista y el Controlador.
Autor del Presente Tutorial Ingeniero de Sistemas Ignacio R. Aular R. SCJP 310-0
Esquema
Uso de libreras para crear elementos grficos. Distribucin de la aplicacin en tres capas.
Objetivo
Mostrar el uso del patrn MVC en el desarrollo de aplicaciones de escritorio implementando las libreras swing de Java.
Situacin Presente
Carencia de material instruccional con contenidos breves y precisos ue permita al !oven novicio aprender con una curva mnima de esfuer"o# para poder ofrecer Soluciones de Software de Calidad# en cumplimiento con los lineamientos $%igidos por el &'()# de acuerdo al perfil ue debe poseer el egresado como )ngeniero en )nformtica.
*studiantes principiantes en Java re uieren constante asesora para comprender y aplicar el patrn MVC.
Alternativas Posibles
Conocer las convenciones internacionales de Java emanadas por +racle ,)ngles-.
Recomendaciones
Conocer la importancia de seguir las convenciones para escritura de cdigo en cual uier lengua!e de programacin# de marcado o de comunicacin con base de datos.
*n el pr%imo tutorial veremos la interaccin con base de datos ba!o el patrn MVC# no se lo pueden perder.
*escripcin &eneral
.a /ista recibe datos por parte del usuario. 0eacciona ante la ocurrencia de un evento. 1ace el llamado al Controlador. *l Controlador escuc2a el evento. 3ransfiere la solicitud al Modelo. *l Modelo procesa datos y retorna la informacin al
Controlador y $ste le informa a la /ista para ue los muestre como resultado al usuario.
#dea &lobal
#ntroduccin,
.a ar uitectura MVC se usa para separar el la Vista del Modelo ue interact4an entre s mediante un comunicador com4n entre ambos llamado Controlador.
-utorial,
'uestra aplicacin se llamar, .Sumar dos n/meros.# la misma ser usada para mostrar la ar uitectura MVC y es por tanto ue se dividir este programa en cuatro partes.
Clases de la Aplicacin
0a Vista Parte 1
#mportar 0ibrer2as,
import !ava.awt.Container6 import !ava.awt.(low.ayout6 import !ava%.swin .J7utton6 import !ava%.swin .J(rame6 import !ava%.swin .J.abel6 import !ava%.swin .J3e%t(ield6
0a Vista Parte 3
*efinicin de clase, public class Clase/ista e4tends J(rame 8
0a Vista Parte 5
*eclaracin de objetos,
Container blo ueContenedor 9 null6 !-e4t6ield ca!aDe3e%to'umero: 9 null6 !-e4t6ield ca!aDe3e%to'umero; 9 null6 !-e4t6ield ca!aDe3e%to0esultado 9 null6 !0abel eti ueta'umero: 9 null6 !0abel eti ueta'umero; 9 null6 !0abel eti ueta0esultado 9 null6 !+utton boton<umar 9 null6
0a Vista Parte 7
*efinicin del constructor,
public Clase/ista,8
0a Vista Parte 8
*efiniendo el contenedor, blo ueContenedor 9 getContent&ane,-6 set3itle,=Calculadora M/C=-6 set.ayout,new (low.ayout,--6 set<i"e,;;>#;>>-6
0a Vista Parte 9
*efiniendo cada componente,
eti ueta'umero: 9 new J.abel,.:umero ;1, .-6 ca!aDe3e%to'umero: 9 new J3e%t(ield,..< 1;-6 eti ueta'umero; 9 new J.abel,.:umero ;3, .-6 ca!aDe3e%to'umero; 9 new J3e%t(ield,..< 1;-6 eti ueta0esultado 9 new J.abel,.Resultado, .-6 ca!aDe3e%to0esultado 9 new J3e%t(ield,..< 1;-6 boton<umar 9 new J7utton,.Sumar.-6
0a Vista Parte =
A re amos cada conponente al contenedor, blo ueContenedor.add,eti ueta'umero:-6 blo ueContenedor.add,ca!aDe3e%to'umero:-6 blo ueContenedor.add,eti ueta'umero;-6 blo ueContenedor.add,ca!aDe3e%to'umero;-6 blo ueContenedor.add,eti ueta0esultado-6 blo ueContenedor.add,ca!aDe3e%to0esultado-6 blo ueContenedor.add,boton<umar-6
set/isible,true-6 ? ?
El Controlador Parte 1
#mportamos 0ibrer2as,
El Controlador Parte 3
*efinimos la clase,
public class ClaseControlador implements @ction.istener
El Controlador Parte 5
*eclaramos dos objetos nuevos, ClaseModelo objModelo 9 null6 Clase/ista obj/ista 9 null6
El Controlador Parte 7
*efinimos el constructor,
public ClaseControlador,Clase/ista obj/ista# ClaseModelo objModelo-
El Controlador Parte 8
Sobreescribir un mBtodo,
COverride 8 tr" 8
public void action&erformed,@ction*vent obj*vento-
El Controlador Parte 9
-omamos los datos de entrada,
AA Capturamos los n/meros desde la vista Strin numero: 9 [email protected]!/ista.ca!aDe3e%to'umero:. et3e%t,-6 Strin numero; 9 [email protected]!/ista.ca!aDe3e%to'umero;. et3e%t,-6
El Controlador Parte =
0lamamos al mBtodo para sumar,
int resultado 9 ob!Modelo.sumar*osEnteros,numero:# numero;-6
El Controlador Parte D
Mostramos los datos en la salida,
AA Mostramos el resultado en la vista ,&'#obj/ista.ca!aDe3e%to0esultado.set3e%t, == E resultado -6 ?
El Controlador Parte 1;
Proporcionamos un escuc@ador,
public void action.istener,@ction.istener escuc2ador8 obj/ista.boton<[email protected],escuc2ador-6 ? ?
El Modelo Parte 1
*efinimos la clase,
El Modelo Parte 3
*efinimos el mBtodo para sumar,
AA #mplementa la l ica del objetivo principal del pro rama
El Modelo Parte 5
*eclaramos< convertimos e iniciali%amos, int numero: 9 #nteger.parse#nt,n:-6 int numero; 9 #nteger.parse#nt,n;-6 int resultado 9 numero: A numero;6
El Modelo Parte 7
Retornamos el resultado al llamador,
return ,resultado-6 ? ?
Calculadora MVC,