Академический Документы
Профессиональный Документы
Культура Документы
Contenido
[ocultar]
1 Historia
2 Descripcin del patrn
3 Frameworks MVC
4 Referencias
Historia [editar]
El patrn fue descrito por primera vez en 19791 por Trygve Reenskaug, entonces
trabajando en Smalltalk en laboratorios de investigacin de Xerox. La implementacin
original est descrita a fondo en Programacin de Aplicaciones en Smalltalk-80(TM):
Como utilizar Modelo Vista Controlador.2
Licencia
Nombre
Ruby
MIT
Ruby on Rails
Java /
J2ee
Apache
Struts
Java /
J2ee
Apache
Beehive
Java /
J2ee
Apache
Spring
Java /
J2ee
Apache
Tapestry
Java /
J2ee
Apache
Aurora
Java /
J2ee
Apache
JavaServerFaces
Perl
GPL
Catalyst
Perl
GPL
CGI::Application
Perl
GPL
Gantry Framework
Perl
GPL
Jifty
Perl
GPL
Maypole
Perl
GPL
OpenInteract2
Perl
Comercial
PageKit
Perl
GPL
Cyclone 3
Perl
ECL
Solstice
Perl
GPL
CGI::Builder
PHP
GPL
Self Framework
PHP
LGPL
Tlalokes
PHP
LGPL
Agavi
PHP
BSD
Zend Framework
PHP
MIT
CakePHP
PHP
GNU/GPL
Kumbia
PHP
MIT
Symfony
PHP
MIT
QCodo
PHP
GNU/GPL
CodeIgniter
PHP
Otra
Kohana
PHP
MPL 1.1
PHP4ECore
PHP
BSD
PRADO
Python
ZPL
Zope3
Python
Varias
Turbogears
Python
GPL
Web2py
Python
BSD
Django
.NET
Castle Project
MonoRail
.NET
Apache
Spring .NET
.NET
Apache
Maverick .NET
.NET
MS-PL
ASP.NET MVC
.NET
AS3
Cairngorm
Referencias [editar]
1. Trygve/MVC.
2. How to use Model-View-Controller (MVC)
Obtenido de "http://es.wikipedia.org/wiki/Modelo_Vista_Controlador"
Categoras: Patrones de diseo | Arquitectura de software
Vistas
Artculo
Discusin
Editar
Historial
Herramientas personales
Probar Beta
Registrarse/Entrar
Buscar
Ir
Buscar
Navegacin
Portada
Portal de la comunidad
Actualidad
Cambios recientes
Pgina aleatoria
Ayuda
Donaciones
Imprimir/exportar
Crear un libro
Descargar como PDF
Versin para imprimir
Herramientas
En otros idiomas
Catal
esky
Deutsch
English
Esperanto
Suomi
Franais
Magyar
Italiano
Latvieu
Nederlands
Norsk (bokml)
Polski
Portugus
Romn
Svenska
Trke
Ting Vit
Esta pgina fue modificada por ltima vez el 03:59, 20 oct 2009.
El texto
Nuevo
Patrn "Modelo-Vista-Controlador"
Descripcin
Para el diseo de aplicaciones con sofisticados interfaces se utiliza el patrn de diseo ModeloVista-Controlador. La lgica de un interfaz de usuario cambia con ms frecuencia que los
almacenes de datos y la lgica de negocio. Si realizamos un diseo ofuscado, es decir, un
pastiche que mezcle los componentes de interfaz y de negocio, entonces la consecuencia ser
que, cuando necesitemos cambiar el interfaz, tendremos que modificar trabajosamente los
componentes de negocio. Mayor trabajo y ms riesgo de error.
Se trata de realizar un diseo que desacople la vista del modelo, con la finalidad de mejorar la
reusabilidad. De esta forma las modificaciones en las vistas impactan en menor medida en la
lgica de negocio o de datos.
Elementos del patrn:
Un modelo puede tener diversas vistas, cada una con su correspondiente controlador. Un
ejemplo clsico es el de la informacin de una base de datos, que se puede presentar de
diversas formas: diagrama de tarta, de barras, tabular, etc. Veamos cada componente:
1. El modelo es el responsable de:
o Acceder a la capa de almacenamiento de datos. Lo ideal es que el modelo sea
independiente del sistema de almacenamiento.
o Define las reglas de negocio (la funcionalidad del sistema). Un ejemplo de
regla puede ser: "Si la mercanca pedida no est en el almacn, consultar el
tiempo de entrega estndar del proveedor".
o Lleva un registro de las vistas y controladores del sistema.
o Si estamos ante un modelo activo, notificar a las vistas los cambios que en los
datos pueda producir un agente externo (por ejemplo, un fichero bath que
actualiza los datos, un temporizador que desencadena una insercin, etc).
estas peticiones a las vistas puede ser una llamada al mtodo "Actualizar()".
Una peticin al modelo puede ser
"Obtener_tiempo_de_entrega( nueva_orden_de_venta )".
Pasos:
1. El usuario introduce el evento.
2. El Controlador recibe el evento y lo traduce en una peticin al Modelo (aunque tambin
puede llamar directamente a la vista).
3. El modelo (si es necesario) llama a la vista para su actualizacin.
4. Para cumplir con la actualizacin la Vista puede solicitar datos al Modelo.
5. El Controlador recibe el control.
Bien, pero esto cmo se implementa? Existe una pequea dificultad: la mayor parte de las
herramientas de desarrollo incorporan en las clases de la vista gran parte o todo el
procesamiento de eventos. Con lo que el controlador queda semioculto dentro de la vista. A
pesar de ello, podemos acercarnos bastante al patrn. En el siguiente ejemplo en Java, el
objeto vista es un Applet AWT. El controlador (controlador.java) puede gestionar el clic en un
botn, de tal forma que recoge datos por medio del Modelo (model.cargar_texto(..)) y los
manda a la Vista (el applet) para su actualizacin (vista.mostrar_texto( )):
**
/**************************************************************
Responde al click en botn "abrir"
La respuesta al evento es hacer que se abra en la vista
...
String texto_archivo =
model.cargar_texto( indice_ref );
// Obtener texto de archivo
//
Mostrar texto
vista.mostrar_aviso("Carga de
completada.");
}
else
vista.mostrar_aviso("Error en la carga de " +
path);
Volver al ndice