[Consulta] Arquitectura MVC

Iniciado por DonStich, 13 Septiembre 2018, 17:45 PM

0 Miembros y 1 Visitante están viendo este tema.

DonStich

Buen dia a todos. Soy nuevo en el foro por lo que me gustaria saludar a todos.

Tengo una consulta con la arquitectura MVC, les voy a plantear el escenario:

Tengo un Jform con varios JTextField (10 aprox) en los cuales capturo la informacion, los envio a un metodo en el Controlador a traves de la clase Modelo, Ejemplo:

Código (java) [Seleccionar]

//Instancia de mi modelo
Login login = new Login();

//Instancia de mi controlador
UsuarioControlador registro = new UsuarioControlador();

//Codigo para capturar datos de varios JTextField y JComboBox
//Todo este codigo va en mi JFrame
login.setNombre(txtNombre.getText());
login.setApellido(txtApellido.getText());
login.setUsuario(txtUsuario.getText());

//cifra la contraseña con el metodo SHA256
String p1 = registro.convertirSHA256(txtPassword.getPassword());
login.setPassword(p1);
String p2 = registro.convertirSHA256(txtPassword2.getPassword());
login.setPassword2(p2);

login.setEmail(txtCorreo.getText());
login.setTelefono(txtTelefono.getText());

//En mi BD tengo tres tablas con tipos de usuario, estado del usuario y la agencia a la cual pertenece
//el metodo idCombo compara el valor del combobox con el id de la tabla a la que pertenece y envia al modelo el id
//como tipo int ya que son tablas relacionadas.
String estado = String.valueOf(cmbEstadoUsuario.getSelectedItem());
login.setEstado_usuario(Integer.parseInt(registro.idCombo(CONSULTA SQL)));
String tipo = String.valueOf(cmbTipoUsuario.getSelectedItem());
login.setTipo_usuario(Integer.parseInt(registro.idCombo(CONSULTA SQL)));
String agencia = String.valueOf(cmbAgencia.getSelectedItem());
login.setAgencia(Integer.parseInt(registro.idCombo(CONSULTA SQL)));

//Valido el tipo de usuario y si son iguales las contraseñas, si todo es true realizo la insercion
registro.insertar(login);


El detalle esta que este codigo esta en un boton y si se dan cuenta son varias lineas de codigo en un solo boton. Algo que me parece excesivo.

Pues buscando en google me tope con un proyecto donde plantean el mismo escenario que yo tengo, tienen varios textfield pero en el boton que realiza "x" accion solo hay una linea de codigo que es la llamada de un metodo en otra clase y de alguna manera captura todos los datos ingresados y hace algo con ellos. Se ve mucho mas limpio pero no logre entender como es que realiza tal accion, por lo que pregunto:
       ¿Hay alguna manera de obtener los datos de varios textfield en un form desde otra clase en otro paquete?

*No se si se entiende lo que trato de decir...
**Cabe destacar que ese codigo es funcional.

rub'n

#1
claro que se puede, si tuvieras el código pues mas fácil en ayudarte, o parte del código que se pueda ejecutar.  y viendo bien tu clase Login tiene muchos métodos set, en ese caso aplica patrón builder y sera mucho mas legible, mantenible etc...

Otra cosas no veo el listener del botón XD


rubn0x52.com KNOWLEDGE  SHOULD BE FREE!!!
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen

DonStich

Gracias rub, disculpa la demora.
Voy a investigar el patron builder, toda la vida trabaje con MVC.

una cuestion, el codigo que ves esta dentro del boton "Agregar" en mi JFrame,asi mismo  todos los textfield los empaqueto en una instancia de mi Modelo, en este caso Login, y se lo envio a mi controlador en el metodo registrar.insertar();.