Ahora estoy en el punto en el que realmente quiero organizar mi código de una manera que lo haga más escalable y manejable. Quiero obtener una mejor comprensión de la arquitectura MVC en javascript sin utilizar un marco.MVC en Vanilla JavaScript
Así que esto es lo que entiendo hasta ahora (por favor, por favor, por favor, corríjanme si me equivoco):
Modelo: una estructura organizada de los sitios/aplicaciones web de contenido (fotos, copiar, descargable contenido, etc ...) que también tiene lógica necesaria en la manipulación del contenido. por lo que en javascript, el modelo podría ser un objeto JSON o una llamada a un archivo php que recupera/actualiza una base de datos y la lógica del modelo podría ser funciones responsables del análisis sintáctico, la expresión y la organización del contenido para que pueda ser entregado fuera de la vista?
Ver: la interfaz de usuario y la representación visual de los datos/contenidos del Modelo. su único trabajo es mostrar el contenido y aceptar la entrada del usuario si corresponde?
Controlador: ¿entonces el único trabajo del controlador es actuar como mediador entre el modelo y la vista? por ejemplo, si la vista necesita datos, ¿le pregunta al controlador quién va al modelo para obtener los datos y luego los envía a la vista? y si hay alguna entrada de usuario, la vista la envía al controlador, que luego la envía al modelo, que luego se actualiza; en ese momento, el controlador informa a la vista que el modelo se ha actualizado.
MVC ha sido y sigue siendo un punto de confusión para mí, combinado con el hecho de que se ha afirmado que MVC no es algo natural en javascript (al menos no como en php, java, actionscript, etc. .)
Intenta ver MVC además de Javascript, lee alguna teoría al respecto. Entonces puede aplicar esos métodos en cualquier idioma que elija. – TJHeuvel
Todavía tengo que ver una implementación de MVC pura desde MVC desde cero en javascript. La implementación de vanilla js en TodoMVC definitivamente no es verdadera MVC, aunque tiene una separación de las diferentes capas. Ver mi comentario a la respuesta aceptada. La ilustración de Head First Design Patterns podría ayudar: http://codereview.stackexchange.com/questions/42353/is-the-vanilla-implementation-of-todomvc-really-an-mvc-app – oligofren
La razón de la falta de verdadero mvc desde cero es la cantidad de código repetitivo involucrado. La aplicación Vanilla TodoMVC tiene más de 900 líneas de JS, pero le faltan piezas esenciales para ser el verdadero MVC. La respuesta de "The Sheep" explica por qué esto no es necesariamente algo malo;) – oligofren