jueves, 21 de marzo de 2013

MVC Y MVP


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