Gráfciamente MVC puede entender asi:
Como sería la implementación concreta en Delphi de este principio ?
Muy simple:
TVista.BotonOnClick(Sender: TObject);
begin
TModelo.Proceso;
end;
TModelo.Proceso;
begin
.
.
end;
Notemos que en este ejemplo no hay una clase Controladora .. porque ? .. porque en realidad el Modelo relacional se comunica con las Vista a través las fuentes de datos (clase TDataSource)
TModelo.Proceso;
begin
with TablaCliente do
begin
DisableControls;
try
First;
while not Eof do
begin
.
.
Next;
end;
finally
EnableControls;
end;
end;
Todo programador Delphi conoce esto. El método DisableControls de un descendiente de la clase TDataSet .. en relacion a MVC, desconecta el Modelo de la Vista .. a la manera Delphi.
Inversamente EnableControls, reconecta la Vista con el Modelo, actualizándola segun el estado del TDataSet a ese momento.
De nuevo .. 'donde estan los controladores ?' .. Los controladores existen dentro de los controles de tipo 'data-aware' y 'saben' como refrescar sus vistas.
O sea, para dar un ejemplo .. el componente TDbEdit, tiene una parte de Vista (la que se ve y se dibuja en el Form que lo contiene) y otra parte de Controlador.
No hay comentarios:
Publicar un comentario