Pessoal ja faz algum tempo que estou estudando o padrão MVC. Gostaria de Saber de vocês se ele esta correto
Vejam a imagem abaixo das classes Model
Neste diagrama de classe como vcs podem ver possuo a Interface Model, class abstrata AbstractModel e a classe concreta DefaultModel
ModeListener, ModelDispatchableEvent, ModelEvent são usados para gerenciar os eventos da model.
Num controle cadastro simples como é o caso do cadastro de estado basta usar a classe DefaultModel, esta classe mantém um referência a interface DAO. que eu posso instânciar em minha aplicação o DAO e passar como parâmetro do seu contrutor ou no método setDao
Vejam a imagem abaixo das classes controller
Como vocês podem ver na classe Controller - ControllerFrmCadEstados mantém uma referência a interface Model. A classe ControllerFrmCadEstado implementa a interface BaseController que possui os métodos
public interface BaseController{
void enabledEdit(boolean enabled);
List fill();
void insert();
void save();
void edit();
void delete();
void update();
void cancel();
void close();
void configureEvents();
Onde no construtor da minha View ou seja do meu formulário esta assim
@ViewHandler //Annotation do framework genesis
public class FrmCadEstados extends javax.swing.JInternalFrame {
private BaseController controller;
/** Creates new form FrmCadEstados */
public FrmCadEstados(){
initComponents();
}
public FrmCadEstados(BaseController controller){
enableEvents( AWTEvent.WINDOW_EVENT_MASK );
try{
initComponents();
this.controller = controller;
SwingBinder binder = new SwingBinder(this, this.controller);//estou o framework genesis para os Actions
binder.bind();
}
catch( Exception e ) {
e.printStackTrace();
}
}
........
.......
}
Agora pergunto será que estruturei bem minha aplicação do Modelo MVC. Esta minha implementação esta correta?
Quem puder me ajudar agradeço desde já