El patrón de diseño Modelo Vista Controlador es
un modelo de desarrollo de software que permite separar 3 elementos básicos:
- Los datos (Modelo) es la representación de la información con la que trabaja el sistema.
- La interfaz gráfica (Vista) es la interfaz gráfica que vera el usuario y en la que interactúa con todos los componentes que este contenga.
- La lógica de negocio (Controlador) Es el encargado de responder a los eventos que sucedan dentro de la Vista, y realiza peticiones al modelo.
Patrón de diseño Modelo –
Vista – Controlador
1.- Crear un nuevo programa con el nombre (su nombre)_mvc_uno en NetBeans,
posteriormente crear 4 Paquetes: controller,
model, mvc_uno, view.
2.- Dentro del paquete model, crear una nueva clase de nombre modelo.java, en esta clase se darán lo alta los datos globales de
la aplicación, en este caso únicamente se tendrá un valor privado de tipo
entero de nombre “valor” con un
valor inicial de 10, además se
agregan los métodos get y set para modificar y regresar el valor de esta variable. Además se
agregan los métodos incremento y decremento para realizar estas acciones
sobre la variable miembro.
package model;
/**
* @author
Salvador Hernández Mendoza
*/
public class modelo {
private
int valor=10;//Variable miembro
public int
getValor() {
return
valor;//Regresa el valor de la variable "valor"
}
public
void setValor(int valor) {
this.valor = valor;//Modifica el valor de la variable
"valor"
}
public
void incremento(){
this.valor=this.valor+1;//Incrementa y regresa el valor
}
public
void decremento(){
this.valor=this.valor-1;//Decrementa y
regresa el valor
}
}
|
3.- Dentro del paquete view se agrega un JFrame
de nombre vista.java, en esta clase
se hará el diseño de la interfaz grafica de la aplicación, pero no se insertara
ningún código de comportamiento. En este caso se agregan 3 componentes un JLabel(jl_valor) que mostrara el valor
de la variable miembro “valor”, y
dos JButton (jb_incremento y jb_decremento)
que harán referencia a los métodos declarados anteriormente.
4.- Para poder realizar la conexión entre los
componentes visuales y el código es necesario hacer la JLabel y los JButton
públicos, esto se realiza dando clic con el botón derecho sobre los
componentes, y posteriormente hacer clic en properties.
5.- Una vez en la ventana de propiedades hacer
clic en la pestaña Code, y en la
opción de Variable Modifiers
declararla como public. Esta acción
permitirá hacer modificable el código de los componentes visuales.
6.- Dentro del paquete controller, se crea una nueva clase llamada controlador.java, en esta clase se realizara la “vinculación” entre
el modelo y la vista, y se crearan los métodos que estarán escuchando los
eventos de los botones creados en la vista.
package controller;
import
java.awt.event.ActionEvent;
import
java.awt.event.ActionListener;
import model.modelo;
import view.vista;
/**
*
* @author Salvador Hernández Mendoza
*/
public class controlador
implements ActionListener {
private final vista objVista;
private final modelo objModelo;
public controlador(vista objVista, modelo
objModelo) {
this.objVista = objVista;
this.objModelo = objModelo;
this.objVista.jb_incremento.addActionListener(this);
this.objVista.jb_decremento.addActionListener(this);
}
public void actionPerformed(ActionEvent
e) {
if (e.getSource() ==
this.objVista.jb_incremento) {
metodoIncremento();
} else if (e.getSource() ==
this.objVista.jb_decremento) {
metodoDecremento();
}
}
public void iniciar_vista() {
objVista.setTitle("MVC
UNO");
objVista.setLocationRelativeTo(null);
objVista.jl_valor.setText("" +
objModelo.getValor());
}
private void metodoIncremento() {
objModelo.incremento();
objVista.jl_valor.setText("" + objModelo.getValor());
}
private void metodoDecremento() {
objModelo.decremento();
objVista.jl_valor.setText("" + objModelo.getValor());
}
}
|
7.- Por último se crea la clase Main.java dentro del paquete mvc_uno, es en esta clase donde se
realiza la vinculación entre el modelo,
la vista y el controlador, para que al ejecutar esta clase se muestre la
aplicación.
package
mvc_uno;
import
controller.controlador;
import
model.modelo;
import
view.vista;
public
class Main {
public static void main(String[] args) {
modelo objModelo = new modelo();//se
crea un objeto de tipo modelo
vista objVista = new vista(); //se
crea un objeto de tipo vista
//se crea un objeto de tipo
controlador teniendo como parametros los
//objetos vista y modelo creados
previamente
controlador controlador = new
controlador( objVista , objModelo );
controlador.iniciar_vista();//inicializa la interfaz grafica
objVista.setVisible(true);//hace
visible la interfaz grafica
}
}
|
8.- Al ejecutar la clase Main, se hace visible la interfaz gráfica y al hacer clic en los
botones, se realiza el incremento o decremento y se muestra el resultado en el
label jl_valor.
Comentarios