Está en la página 1de 5

Universidad Israel

DEPARTAMENTO: Ciencias de la Ingeniería PROFESOR: Mg. Luis Fernando Aguas B.


CARRERA: Informática ESTUDIANTES: Robinson Soplín, Diego Portilla,
Rodrigo Garcés, Roberto Toapanta, Cristian Morocho.
CURSO: Séptimo PARALELO: “A “ DESCRIPCIÓN: Tarea Semana 1
ASIGNATURA: Desarrollo de Software 2 SEMESTRE: 2022 A

TEMA: Investigue un ejemplo de MVC en java.

DESARROLLO:
(Mínimo 2 páginas, 2 gráficos)
En líneas generales, MVC es una propuesta de arquitectura del software que utilizamos para
separar el código por sus distintas responsabilidades, manteniendo distintas capas que se
encargan de hacer una tarea muy concreta, lo que ofrece beneficios diversos.
MVC se usa inicialmente en sistemas donde requerimos el uso de interfaces de usuario,
aunque en la práctica el mismo patrón de arquitectura se puede utilizar para distintos tipos de
aplicaciones. Surge de la necesidad de crear software más robusto con un ciclo de vida más
adecuado, donde se potencie la facilidad de mantenimiento, reutilización del código y la
separación de conceptos.
Su fundamento es la separación del código en tres capas diferentes, acotadas por su
responsabilidad, a lo que llamamos Modelos, Vistas y Controladores, o lo que es lo mismo,
Model, Views y Controllers.
MVC es un invento que ya tiene varias décadas y fue presentado incluso antes de la aparición
de la Web. No obstante, en los últimos años ha ganado mucha fuerza y seguidores gracias a la
aparición de numerosos frameworks de desarrollo web que utilizan el patrón MVC como
modelo para la arquitectura de las aplicaciones web.

Diagrama de las capas que componen la arquitectura de desarrollo de software en el patrón


MVC.

Hablemos Sobre los conceptos de las tres capas de MVC.

Modelos
Es la capa donde se trabaja con los datos, por tanto, contendrá mecanismos para acceder a la
información y también para actualizar su estado. Los datos los tendremos habitualmente en
una base de datos, por lo que en los modelos tendremos todas las funciones que accederán a
1

las tablas y harán los correspondientes selects, updates, inserts.

Ciencias de la Ingeniería
Vistas
Las vistas, como su nombre nos hacen entender, contienen el código de nuestra aplicación que
va a producir la visualización de las interfaces de usuario, o sea, el código que nos permitirá
renderizar los estados de nuestra aplicación en HTML. En las vistas nada más tenemos los
códigos HTML y PHP que nos permite mostrar la salida.
Controladores
Contiene el código necesario para responder a las acciones que se solicitan en la aplicación,
como visualizar un elemento, realizar una compra, una búsqueda de información. Es una capa
que sirve de enlace entre las vistas y los modelos, respondiendo a los mecanismos que puedan
requerirse para implementar las necesidades de nuestra aplicación. Sin embargo, su
responsabilidad no es manipular directamente datos, ni mostrar ningún tipo de salida, sino
servir de enlace entre los modelos y las vistas para implementar las diversas necesidades del
desarrollo.

Ejemplo de MVC en Java:

Realizar un programa que convierta una cantidad a pesos (MXN) y a Dólares(USD).


Definir el algoritmo de solución =moneda * cantidad
La clase Modelo:
package mvc;
 
public class Modelo {
 
 private Double moneda;
 private Double cantidad;
 private Double resultado;
 
 public void setMoneda(Double moneda) {
  this.moneda = moneda;
 }
 public void setCantidad(Double cantidad) {
  this.cantidad = cantidad;
 }
 public Double getResultado() {
  return resultado;
 }
 public void convetirDolarAPeso() {
  resultado = cantidad * moneda;
 }
 public void convertirPesoADolar() {
  resultado = cantidad * moneda;
 }
}

La clase Vista
package mvc;
 
import java.awt.BorderLayout;
import java.awt.FlowLayout;
 
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
 
public class Vista extends JFrame{
 public JButton pesos, dolares;
 private JPanel panelB, panelR;
1

 public JLabel lResultado;

Ciencias de la Ingeniería
 public JTextField campoTexto;
 
 public Vista() {
  getContentPane().setLayout(new BorderLayout());
   
  panelB = new JPanel();
  panelB.setLayout(new FlowLayout());
   
  panelR = new JPanel();
  panelR.setLayout(new FlowLayout());
   
  pesos = new JButton("Convertir a Pesos");
  dolares = new JButton("Convertir a Dolares");
   
  lResultado = new JLabel("Resultado:");
  campoTexto = new JTextField(20);
   
  panelB.add(pesos);
  panelB.add(dolares);
   
  panelR.add(lResultado);
   
  add(campoTexto, BorderLayout.NORTH);
  add(panelB, BorderLayout.SOUTH);
  add(panelR, BorderLayout.CENTER);
 }
}

La clase Controlador:
package mvc;
 
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
 
import javax.swing.JFrame;
 
public class Controlador implements ActionListener {
 private Modelo;
 private Vista;
 private Double cantidad;
 
 public Controlador(Modelo, Vista vista) {
  this.modelo = modelo;
  this.vista = vista;
   
  this.vista.pesos.addActionListener(this);
  this.vista.dolares.addActionListener(this);
 }
 public void iniciarVista() {
  vista.setTitle("Conversor");
  vista.pack();
  vista.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  vista.setLocationRelativeTo(null);
  vista.setVisible(true);
 }
 public void actionPerformed(ActionEvent evento) {
  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(NumberFormatException e) {
     vista.lResultado.setText("Introduzca una cantidad valida...");
1

    }

Ciencias de la Ingeniería
   }
  }
  else if(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(NumberFormatException e) {
     vista.lResultado.setText("Introduzca una cantidad valida...");
    }
   }
  }
 }
}

Por último, la ejecución del patrón:


package ejecutarConversor;
 
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
 
import mvc.Controlador;
import mvc.Modelo;
import mvc.Vista;
 
public class PruebaConversor {
 public static void main(String arf[]) {
  try {
   UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
  }
  catch (UnsupportedLookAndFeelException e) {
  }
  catch (ClassNotFoundException e) {
  }
  catch (InstantiationException e) {
  }
  catch (IllegalAccessException e) {
  }
  Modelo = new Modelo();
  Vista = new Vista();
  Controlador = new Controlador(modelo, vista);
  controlador.iniciarVista();
 }
}
1

Ciencias de la Ingeniería
COMENTARIO:

(Mínimo 5 líneas de resumen personal de la consulta)


Entendemos que MVC nos ayuda a crear procesos que aseguren calidad en los programas que
se realizan y esa calidad atiende a diversos parámetros que son deseables para todo
desarrollo, como la estructuración de los programas o reutilización del código, lo que debe
influir positivamente en la facilidad de desarrollo y el mantenimiento. Por tanto, cuando
estudiamos MVC lo primero que tenemos que saber es que está ahí para ayudarnos a crear
aplicaciones con mayor calidad.
Implementando interfaces de usuario, datos y lógica de control y enfatizando una separación
entre la lógica de negocios y su visualización

BIBLIOGRAFÍA:

(Mínimo 3 fuentes en Formato APA)

Qué es MVC. (n.d.). Retrieved June 4, 2022, from https://desarrolloweb.com/articulos/que-


es-mvc.html
 
Aplicando MVC en Java Jose Manuel's blog
https://www.javamexico.org/blogs/jose_manuel/aplicando_mvc_en_java

MVC
https://developer.mozilla.org/es/docs/Glossary/MVC
1

Ciencias de la Ingeniería

También podría gustarte