Lo encuentro bastante útil. Los modelos son para datos y casi siempre es útil desacoplar datos de imágenes. Hacer eso le permite, por ejemplo, trazar los mismos números en una barra o gráfico circular. Simplemente cambia la vista pero el modelo sigue siendo el mismo. Ves esto en Facebook todo el tiempo. Los datos principales son los mismos (publicaciones de texto, etc.) pero se vierten en varios diseños.
Si Quora ha desacoplado su modelo de su vista, podrían renovar por completo el aspecto del sitio sin afectar el texto que la gente ha publicado. Podrían servir ese mismo texto (el modelo) a sitios de escritorio y móviles que se ven completamente diferentes entre sí …
Algo debe enganchar el modelo a la vista. Esto es generalmente la lógica de negocios (también conocido como el controlador). Por ejemplo, el widget upvote / downvote en Quora es una vista. Con suerte, no sabe nada sobre el modelo, que almacena la cantidad de votos a favor y en contra. Y es de esperar que al modelo no le importe cómo se muestran los votos a favor y en contra.
- ¿Qué sitios tienen sistemas de etiquetado que han mantenido su legitimidad a lo largo del tiempo?
- ¿Habrá alguna vez un marco de creación de aplicaciones / sitios web de facto?
- ¿Cuáles son las aplicaciones de las integraciones?
- ¿WordPress funcionaría muy bien para construir un sitio web que se ocupara de eventos o estaría mejor con un sitio web personalizado?
- ¿Cuán profundamente debe comprender un marco web y su lenguaje subyacente para crear una aplicación verdaderamente segura?
Pero algo debe decirle a la vista que se actualice cuando cambia el número de votos, y algo debe decirle al modelo que aumente o disminuya cuando un usuario hace clic en el widget. Los controladores son geniales, porque son intermediarios y ayudan a que las vistas y los modelos se desacoplen entre sí.
Digamos que los fundadores de Quora decidieron agregar votación a las preguntas. Si el widget está desacoplado, simplemente podría reutilizarlo.
Un vaso (vista) puede tener cualquier tipo de líquido (datos) vertido en él. Al vaso no le importa el líquido. Es solo un receptáculo de uso general. Al líquido no le importa si se vierte en un vaso, una taza o un tazón. Sin embargo, algo (el controlador) tiene que hacer el vertido.
Yo diría que la mayoría de los sitios web son, en su “estado natural”, ya MVC o algo similar. El modelo es la base de datos en el back-end, la vista es HTML y CSS, y el controlador es Javascript. Puede crear sitios web que no se ajusten a este patrón y, por supuesto, puede tener patrones mini-MVC dentro del Javascript mismo (y otros en el backend, menos la vista en la mayoría de los casos), pero sin siquiera esforzarse, es bastante Es natural pensar en términos de MVC al construir un sitio web.