Pessoal,
Li os tópicos do fórum relacionados ao assunto mas ainda fiquei na dúvida…
Posso dizer que a seguinte implementação está correta segundo o MVC ?
Valeu,
Spiff
[code]
//
/ Classes de View /
//
// View inicial - Login
public class frmInicio implements CommandListener{
private string user ;
private string senha ;
private void commandAction(Command cmd) {
if (cmd == cmdLogin) { controlador.dispararEvento(EventosIds.EVENT_ID_LOGIN); } else { … }
}
}
// View que exibe uma lista de unidades para o usuario selecionar
// em qual deseja trabalhar
public class frmExibeUnd implements CommandListener{
private string user ;
private string senha ;
private string sUndSelecionada ;
private Vector vUserUnd ;
public void setUserUnd(Vector v) {
vUserUnd = v ;
}
private void commandAction(Command cmd) {
if (cmd == cmdOK) { controlador.dispararEvento(EventosIds.EVENT_ID_UNB_SELECIONADA); } else { … }
}
}
//
/ Fim Classes de View /
//
//
/ Controlador /
//
public class Controlador {
private frmInicio vwIni ;
private frmExibeUnd vwExbUnd ;
private Model localModel ;
public Controlador() {
vwInicio = frmInicio() ;
}
public void iniciar(Model m) {
this.localModel = m ;
exibirView (vwIni) ;
}
public void dispararEvento(int eventId) {
switch(e.eventId) {
case EventosIds.EVENT_ID_LOGIN: {
localModel.validarUsuario(vwIni.getUserName(), vwIni.getUserPwd()) ;
}
case EventosIds.EVENT_ID_LOGIN_OK: {
vwExbUnb = new ExbUnb() ;
vwExbUnb.setUser(model.getUserName()) ;
vwExbUnb.setUserUnd(model.getUserUnd()) ;
exibirView(vwExbUnb) ;
}
case EventosIds.EVENT_ID_LOGIN_FALHOU: {
exibirAlerta("Login Incorreto
Tente Novamente!") ;
}
…
}
}
public void exibirView(View v) { // Exibe um view na tela }
public void exibirAlerta(String s) { // Exibe um alerta para o usuario }
}
//
/ Fim Controlador /
//
//
/ Classes de Modelo /
//
// Modelo
public class Model() {
private Controlador control ;
public Model(Controlador c) { this.control = c ; }
public void validarUsuario(String suser, String spwd) {
/// verifica se login esta ok…
if (loginOk) {
control.dispararEvento(EventosIds.EVENT_ID_LOGIN_OK) ;
} else {
control.dispararEvento(EventosIds.EVENT_ID_LOGIN_FALHOU) ;
}
}
}
//
/ Fim Classes de Modelo /
//
//
/ Inicia a Aplicacao /
//
public class Aplicacao() {
private Controlador control ;
private Model modelo ;
public Aplicacao(
control = new Controlador() ;
modelo = new Model(control) ;
)
public static void main(String args[]) {
control.iniciar(modelo) ;
}
}
//
/ Fim Inicia a Aplicacao /
//
[/code][/code]