Introducción al patrón de diseño MVC: MVC significa Model View Controller. Modelo-vista-controlador es un patrón de diseño de software comúnmente utilizado para desarrollar interfaces de usuario, datos y controlar la lógica, es decir, divide la lógica del programa relacionado en tres elementos interrelacionados. Esto se hace principalmente para separar las representaciones internas de la información de las formas en que se presenta y acepta la información por parte del usuario.
Tres componentes de MVC:
1. Modelo: El Modelo es considerado como el componente central del Patrón. Esto define qué datos debe contener la aplicación. Si en algún momento el estado de los datos cambia, se notifica a la vista y al controlador.
2. Vista: la vista define cómo se deben mostrar los datos de la aplicación que trata con la interfaz de usuario y se utiliza para proporcionar una representación visual del modelo MVC. También se comunica entre el usuario final (como entrada, solicitud) y el controlador.
3. Controlador: también conocido como el Cerebro de MVC, el controlador contiene lógica que actualiza el modelo o la vista en respuesta a la entrada obtenida del usuario. Es responsable de controlar la lógica de la aplicación y actúa como canal de comunicación entre la Vista y el modelo.
Consideremos un ejemplo que representa la arquitectura MVC:
Mecanismo de conducción de automóviles: donde cada automóvil consta de 3 partes principales:
- Vista: interfaz de usuario (niveles de marcha, paneles, volantes, freno, embrague, acelerador, etc.)
- Controlador: Motor (mecanismo de manijas)
- Modelo: Almacenamiento (Tanque Gasolina/Diesel)
Descripción:
El concepto muy original de MVC está relacionado con el aspecto de diseño y no tiene nada que ver con bibliotecas o marcos. ReactJs, una biblioteca front-end popular, no sigue el patrón MVC. Las personas que leen sobre el desarrollo de IOS usando Swift o cualquier otro lenguaje generalmente se encuentran con las deficiencias del patrón MVC. Una estructura de código adecuada hace que la vida de un desarrollador sea fácil y fluida. Pero, ¿y si el código a escribir no pertenece ni al modelo ni a la vista? De acuerdo con este mismo patrón MVC, lo escribimos en el Controlador. ¿Es correcto este enfoque? Absolutamente no, esto hace que la comprensión sea bastante compleja y difícil. Por supuesto, el desarrollo no es un espectáculo de un solo hombre, por lo que esta estrategia de volcar el código en el controlador generalmente no es la preferida. Hay varias otras deficiencias del patrón de diseño MVC que se describen a continuación.
Deficiencias/desventajas de los patrones de diseño MVC:
- El código/implementación es generalmente difícil de leer, comprender, probar unitariamente y reutilizar el modelo, lo cual es una gran desventaja, por lo que no se puede usar a niveles microscópicos (pequeños).
- No hay soporte de validación formal para MVC.
- El uso de MVC depende de varios factores, como que nuestras aplicaciones consisten en UI, si requiere escalabilidad, extensibilidad, capacidad de prueba o mantenimiento, como una página web simple que comparte información básica, no requiere la implementación de MVC, pero una página interactiva dinámica lo necesita.
- Otra desventaja importante con respecto al patrón de diseño de MVC viene con la implementación, ya que el proceso de desarrollo aislado por parte de los desarrolladores de la interfaz de usuario, los desarrolladores de lógica empresarial y los desarrolladores de controladores puede generar demoras en el proceso de implementación, lo que genera demoras en la entrega del producto al cliente.
- Los principales inconvenientes de MVC en react js incluyen la manipulación de DOM, que es muy costosa y también a costa del desperdicio de tiempo y memoria.
- Para implementar MVC, se requiere el conocimiento de múltiples idiomas y tecnologías, lo que requiere una enorme mano de obra con diferentes conocimientos.
- El mantenimiento del código es muy complejo ya que todo el código está presente dentro del controlador.
- En el patrón MVC, las vistas podrían verse sobrecargadas con requests de actualización, es decir, si el modelo continúa con cambios frecuentes. Además, las vistas como las pantallas gráficas pueden llevar más tiempo, ya que son difíciles de actualizar rápidamente. Como resultado, el componente de vista se queda atrás de todas las actualizaciones importantes.
¿Cómo podemos resolver las deficiencias del patrón MVC?
En los últimos años, hay otro patrón de diseño que está ganando popularidad. Se considera como controlador de vista de vista de modelo MVVM) que ayuda a mantener el modelo y a dirigir los datos del modelo a la vista a través del controlador. Los orígenes del patrón MVVM se remontan a Microsoft y continúan utilizándose en el desarrollo moderno de Windows en la actualidad. El patrón MVVM introduce un cuarto componente, el modelo de vista. El modelo de vista es responsable de administrar el modelo y canalizar los datos del modelo a la vista a través del controlador. (Para obtener más información, siga el enlace https://www.geeksforgeeks.org/mvvm-model-view-viewmodel-architecture -patrón-en-android/
Publicación traducida automáticamente
Artículo escrito por palakkotwani2883 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA