MVC Es Modelo

9
Actividad de Modelo Vista Controlador, Realizar en Java el ejemplo de calculadora de conversión , escribir los resultados obtenidos. MVC es Modelo, Vista y Controlador. Este patrón de diseño nos dice que debemos separar nuestro programa en tres partes. Las cuales son las anteriores y nos indican lo siguiente. Modelo: Es la parte lógica del programa, el que resuelve el problema, el que da el resultado. Aquí van los algoritmos y la parte lógica, la crucial. Controlador: Es la sección que se comunica con el modelo y la vista, obtiene los datos ingresados por el usuario a través de la vista y lo manda al modelo para que este realice las operaciones correspondientes. Vista: Esta parte es la que interactúa con el usuario y envía los datos al controlador para que se realice la comunicación con el modelo. Podríamos decir que el modelo es la parte donde mas vamos a tardar pues es donde debemos resolver el problema. El controlador va muy ligado a la vista y estas dos partes son lo mas fácil de realizar, relativamente.

description

modelo vista controlador

Transcript of MVC Es Modelo

Page 1: MVC Es Modelo

Actividad de Modelo Vista Controlador, Realizar en Java el ejemplo de calculadora de conversión , escribir los resultados obtenidos. MVC es Modelo, Vista y Controlador. Este patrón de diseño nos dice que debemos separar nuestro programa en tres partes. Las cuales son las anteriores y nos indican lo siguiente. Modelo: Es la parte lógica del programa, el que resuelve el problema, el que da el resultado. Aquí van los algoritmos y la parte lógica, la crucial. Controlador: Es la sección que se comunica con el modelo y la vista, obtiene los datos ingresados por el usuario a través de la vista y lo manda al modelo para que este realice las operaciones correspondientes. Vista: Esta parte es la que interactúa con el usuario y envía los datos al controlador para que se realice la comunicación con el modelo. Podríamos decir que el modelo es la parte donde mas vamos a tardar pues es donde debemos resolver el problema. El controlador va muy ligado a la vista y estas dos partes son lo mas fácil de realizar, relativamente.

Page 2: MVC Es Modelo

Actividad Ahora que ya sabemos que debe hacer cada parte pongamos un ejemplo de algún programa que nos hayan pedido. Digamos que nos encargan realizar un programa que convierta una cantidad a pesos(MXN) y a Dólares(USD) Realizamos un análisis del problema y ya sabemos como obtener el resultado. Sabemos que un dólar vale 13,943 pesos y que un peso vale 0.072 dólares. Entonces las operaciones para realizar la conversión serian: ?

1 moneda*cantidad Entonces ya tenemos como resolver el problema principal, ahora podemos empezar a escribir código. Lo primero es el modelo. Crearemos un paquete que se llame mvc. En el que irán tres clases. Modelo.java, Vista.java y Controlador.java

Page 3: MVC Es Modelo

Coloquemos el codigo de el Modelo: ?

123456789101112131415161718192021222324

packagemvc;publicclassModelo{privateDoublemoneda;privateDoublecantidad;privateDoubleresultado;publicvoidsetMoneda(Doublemoneda){this.moneda=moneda;}publicvoidsetCantidad(Doublecantidad){this.cantidad=cantidad;}publicDoublegetResultado(){returnresultado;}publicvoidconvetirDolarAPeso(){resultado=cantidad*moneda;}publicvoidconvertirPesoADolar(){resultado=cantidad*moneda;}}

La clase Modelo establece tres variables de clase o globales(atributos) y cinco métodos. Las variables son accedidas y modificadas por los métodos. Usamos los métodos set y get para modificar el valor de las variables cantidad y moneda. Y usamos los métodos que se encargan de realizar la conversión para obtener el resultado.

Page 4: MVC Es Modelo

Ahora veamos el código de la Vista: ?

1234567891011121314151617181920212223242526272829303132333435

packagemvc;importjava.awt.BorderLayout;importjava.awt.FlowLayout;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JPanel;importjavax.swing.JTextField;publicclassVistaextendsJFrame{publicJButtonpesos,dolares;privateJPanelpanelB,panelR;publicJLabellResultado;publicJTextFieldcampoTexto;publicVista(){getContentPane().setLayout(newBorderLayout());panelB=newJPanel();panelB.setLayout(newFlowLayout());panelR=newJPanel();panelR.setLayout(newFlowLayout());pesos=newJButton("ConvertiraPesos");dolares=newJButton("ConvertiraDolares");lResultado=newJLabel("Resultado:");campoTexto=newJTextField(20);panelB.add(pesos);panelB.add(dolares);

Page 5: MVC Es Modelo

36373839404142

panelR.add(lResultado);add(campoTexto,BorderLayout.NORTH);add(panelB,BorderLayout.SOUTH);add(panelR,BorderLayout.CENTER);}}

La clase vista se encarga de crear los componentes Swing que harán la GUI y no explico mas de UI porque eso es tema aparte =P Basta con saber que hereda el componente JFrame, que contiene dos paneles, dos botones, un label y un textfield. La clase Controlador: ?

1234567891011121314151617181920

packagemvc;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JFrame;publicclassControladorimplementsActionListener{privateModelomodelo;privateVistavista;privateDoublecantidad;publicControlador(Modelomodelo,Vistavista){this.modelo=modelo;this.vista=vista;this.vista.pesos.addActionListener(this);this.vista.dolares.addActionListener(this);}publicvoidiniciarVista(){

Page 6: MVC Es Modelo

2122232425262728293031323334353637383940414243444546474849505152535455

vista.setTitle("Conversor");vista.pack();vista.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);vista.setLocationRelativeTo(null);vista.setVisible(true);}publicvoidactionPerformed(ActionEventevento){if(vista.pesos==evento.getSource()){if(!"".equals(vista.campoTexto.getText())){try{cantidad=Double.parseDouble(vista.campoTexto.getText());modelo.setCantidad(cantidad);modelo.setMoneda(13.943);modelo.convetirDolarAPeso();vista.lResultado.setText(modelo.getResultado().toString());}catch(NumberFormatExceptione){vista.lResultado.setText("Introduzcaunacantidadvalida...");}}}elseif(vista.dolares==evento.getSource()){if(!"".equals(vista.campoTexto.getText())){try{cantidad=Double.parseDouble(vista.campoTexto.getText());modelo.setCantidad(cantidad);modelo.setMoneda(0.072);modelo.convertirPesoADolar();vista.lResultado.setText(modelo.getResultado().toString());}catch(NumberFormatExceptione){vista.lResultado.setText("Introduzcaunacantidadvalida...");}}}}}

Page 7: MVC Es Modelo

La clase Controlador se divide en tres partes importantes, la primera es la declaración de los atributos de clase y el constructor de la clase. Esta parte crea atributos tipo Modelo y tipo Vista para poder controlar la aplicación completamente. Además le agrega los escuchadores a los botones. Por ultimo creamos una clase en cualquier paquete que queramos y esta ejecutara nuestra aplicación. Por ejemplo: ?

12345678910111213141516171819202122232425262728

packageejecutarConversor;importjavax.swing.UIManager;importjavax.swing.UnsupportedLookAndFeelException;importmvc.Controlador;importmvc.Modelo;importmvc.Vista;publicclassPruebaConversor{publicstaticvoidmain(Stringarf[]){try{UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());}catch(UnsupportedLookAndFeelExceptione){}catch(ClassNotFoundExceptione){}catch(InstantiationExceptione){}catch(IllegalAccessExceptione){}Modelomodelo=newModelo();Vistavista=newVista();Controladorcontrolador=newControlador(modelo,vista);controlador.iniciarVista();}}

Page 8: MVC Es Modelo

Esta clase crea tres objetos que son, del tipo Modelo, del tipo Vista y del tipo Controlador. A este ultimo le pasamos como parámetro los otros dos. Por ultimo, por medio del objeto controlador mandamos mostrar la ventana. El bloque try-catch es solo para la skin o look and feel de la aplicación.

Page 9: MVC Es Modelo