domingo, 14 de octubre de 2012

Arquitectura Modelo-Vista-Controlador (MVC)

Está arquitectura desarrollada en los años 70s para SmallTak, por lo que con ello confirmamos que no fue hecha exclusivamente para proyectos web, si no, para escritorio. Su verdadera concepción fue separar la interface de usuario, la lógica de negocio y la fuentes de datos, para facilitar su mantenimiento y extensibilidad. En esta primera etapa las tres partes estaban al lado del cliente, ya que  se trabajaba localmente.

Luego, se fue implementando hacia las nuevas tecnologías hasta llegar a los proyectos web, mucho más que a los de escritorio. Par este caso la arquitectura esta implementada al lado del servidor, ya que a lado del cliente esta solamente el navegador web donde se presenta el resultado a través de la Vista, que ha sido procesada en el servidor, según los requerimientos, y entregada al usuario.

Para el caso de proyectos web RIA, que son mucho más ricas, como su nombre en ingles lo dice, la forma de desplegar esta arquitectura es tener la lógica de negocios (Controlador) y accedo a datos (Modelo) en el servidor,  y la presentación (Vista) la cual tiene más código en la tradicional, es decir, que no solo el browser recepciona y envía datos, si no, que también realiza lógicas que generalmente son de control de los datos ingresados.

Debemos recalcar que actualmente está arquitectura como vemos es Cliente - Servidor. Asimismo, la ventaja por ejemplo en lo que es ASP. NET Web Forms y ASP. NET MVC, es que en la segunda se puede hacer un mejor control de las pruebas, ya que puede hacerse pruebas de código mas especificas que en los proyectos Web Forms, porque en teste último las pruebas se realizan a una funcionalidad en total, en cambio en MVC esa misma funcionalidad la podemos probar una parte específica del código o si queremos en su totalidad. Esto a hecho que otras tecnologías como PHP, Python, Ruby, Java, etc hayan desarrollado frameworks especializados en esta arquitectura.

Finalmente, podemos concluir que está no es una arquitectura que resuelve todos nuestros problemas, si no, otra herramienta que según las circunstancias y necesidades que tenemos, en algún momento de nuestra vida profesional, puede ser la mejor opción a utilizar para dar una solución en nuestra empresa o clientes.

No hay comentarios:

Publicar un comentario