Entradas

ARQUITECTURA MULTINIVEL Y CAPAS

Imagen
En la actualidad es muy conocido el diseño arquitectónico de sistemas software en capas. También son conocidos los despliegues físicos en distintas unidades o servidores. Pero es bastante frecuente la confusión entre dos conceptos que pueden parecer similares pero que se refieren a aspectos diferentes del diseño de software: la división en capas y niveles. Una de las técnicas mas comunes en ingeniería para la construcción de sistemas complejos es la división en distintas capas y niveles de abstracción. Esta práctica proviene del proverbio Divide y Vencerás, muy aplicado en ingeniería del software. Esta división del desarrollo software en capas permite aislar la forma de desarrollar, y mantener los sistemas con menos coste y mas facilidad. En caso de cambios, solo se verá afectada la capa en la que se trabaja. La división en capas se puede observar en distintos ámbitos. Por ejemplo, en telecomunicaciones, tenemos la pila OSI como división en niveles de abstracción de los protocolos de r

MODELO VISTA CONTROLADOR

Imagen
En líneas generales, MVC es una propuesta de arquitectura del software utilizada para separar el código por sus distintas responsabilidades, manteniendo distintas capas que se encargan de hacer una tarea muy concreta, lo que ofrece beneficios diversos. MVC se usa inicialmente en  sistemas donde se requiere el uso de interfaces de usuario , aunque en la práctica el mismo patrón de arquitectura se puede utilizar para distintos tipos de aplicaciones. Surge de la necesidad de crear software más robusto con un ciclo de vida más adecuado, donde se potencie la facilidad de mantenimiento, reutilización del código y la separación de conceptos. Su fundamento es la  separación del código en tres capas diferentes , acotadas por su responsabilidad, en lo que se llaman  Modelos, Vistas y Controladores , o lo que es lo mismo,  Model, Views & Controllers , si lo prefieres en inglés. MVC es un "invento" que ya tiene varias décadas y fue presentado incluso antes de la aparición de la Web.