Modelo Vista Controlador (MVC)
Es un patrón o modelo
de abstracción de desarrollo de software que separa los datos de una
aplicación, la interfaz de usuario, y la lógica de negocio en tres componentes
distintos (modelo, vista y controlador). El patrón de llamada y retorno MVC , se ve
frecuentemente en aplicaciones web, donde la vista es la página HTML y el código que
provee de datos dinámicos a la página, el modelo es el Sistema de Gestión de Base de Datos
y la Lógica de negocio, y el controlador es el
responsable de recibir los eventos de entrada desde la vista.
- Modelo: Esta es la representación específica de la información con la cual el sistema opera. En resumen, el modelo se limita a lo relativo de la vista y su controlador facilitando las presentaciones visuales complejas. El sistema también puede operar con más datos no relativos a la presentación, haciendo uso integrado de otras lógicas de negocio y de datos afines con el sistema modelado.
- Vista: Este presenta el modelo en un formato adecuado para interactuar, usualmente la interfaz de usuario.
- Controlador: Este responde a eventos, usualmente acciones del usuario, e invoca peticiones al modelo y, probablemente, a la vista.
Frameworks MVC
Lenguaje
|
Licencia
|
Nombre
|
Objective C
|
Apple
|
Cocoa
|
Ruby
|
MIT
|
Ruby on Rails
|
Ruby
|
MIT
|
Merb
|
Ruby
|
MIT
|
Ramaze
|
Ruby
|
MIT
|
Rhodes
|
Java
|
Apache
|
Grails
|
Java
|
GPL
|
Interface Java
Objects
|
Java
|
LGPL
|
Framework Dinámica
|
Java
|
Apache
|
Struts
|
Java
|
Apache
|
Beehive
|
Java
|
Apache
|
Spring
|
Java
|
Apache
|
Tapestry
|
Java
|
Apache
|
Aurora
|
Java
|
Apache
|
JavaServerFaces
|
JavaScript
|
GPLv3
|
ExtJS 4
|
Perl
|
GPL
|
Mojolicious
|
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
|
GPL
|
CGI::Builder
|
PHP
|
GPL
|
Self Framework ( php5, MVC, ORM,
Templates, I18N, Multiples DB)
|
PHP
|
LGPL
|
ZanPHP
|
PHP
|
LGPL
|
Tlalokes
|
PHP
|
GPL
|
SiaMVC
|
PHP
|
LGPL
|
Agavi
|
PHP
|
BSD
|
Zend Framework
|
PHP
|
MIT
|
CakePHP
|
PHP
|
GNU/GPL
|
KumbiaPHP
|
PHP
|
MIT
|
Symfony
|
PHP
|
MIT
|
QCodo
|
PHP
|
GNU/GPL
|
CodeIgniter
|
PHP
|
BSD
|
Kohana
|
PHP
|
MPL
1.1
|
PHP4ECore
|
PHP
|
BSD
|
PRADO
|
PHP
|
GNU
|
FlavorPHP
|
PHP
|
Apache
2.0
|
Yupp PHP
Framework
|
PHP
|
BSD
|
Yii PHP Framework
|
PHP
|
GPL
|
Logick PHP Framework
|
PHP
|
GPL
|
Osezno PHP Framework
|
PHP
|
MIT
|
(sPHPf) Simple
PHP Framework
|
PHP
|
GNU/GPL
|
gvHidra
|
Python
|
ZPL
|
Zope3
|
Python
|
Varias
|
Turbogears
|
Python
|
GPL
|
Web2py
|
Python
|
BSD
|
Pylons
|
Python
|
BSD
|
Django
|
.NET
|
Castle
Project
|
MonoRail
|
.NET
|
Apache
|
Spring .NET
|
.NET
|
Apache
|
Maverick .NET
|
.NET
|
MS-PL
|
ASP.NET MVC
|
.NET
|
Microsoft
Patterns & Practices
|
User Interface Process (UIP)
Application Block
|
AS3
|
Adobe
Open Source
|
Cairngorm
|
AS3 y Flex
|
MIT License
|
CycleFramework
|
Modelo Vista Presentador (MVP)
La idea de este patrón es codificar la interfaz de usuario muy, muy facil, que tenga el menor código posible, de forma que no merezca la pena testearla. En su lugar, toda la lógica de la interfaz de usuario, la hacemos en una clase separada (que se conoce como Presenter), que no dependa en absoluto de los componentes de la interfaz gráfica y que, por tanto, es más fácil de testear. |
Diferencias entre MVC Y MVP
El Modelo Vista Controlador (MVC) y el Modelo Vista
Presentador son Paradigmas de Diseño de software. La idea principal de estos
paradigmas es separar la interfaz gráfica, la lógica, y la "cola" que
los une en distintos modulos en el programa.
La diferencia esencial entre MVC y
MVP es que los objetos que son parte de la interfaz gráfica del software,
delegan sus acciones al controlador para responder a las interacciones del
usuario, mientras que en el MVP, los objetos de la interfaz gráfica se encargan
de responder al usuario, en vez de delegar las acciones al Controlador como lo
haría MVC.
| ||||
No hay comentarios:
Publicar un comentario