Actualmente estoy enfrentando un enigma: ¿Cuál es la forma correcta de unir 2 objetos javascript?¿Cuál es la forma correcta de conectar juntos 2 objetos javascript?
Imagine una aplicación como un editor de texto con varios archivos diferentes. Tengo una página HTML que representa la vista del portátil. Tengo un archivo notebook.js que contiene definiciones de clase para NotebookController y Notebook View.
NotebookControler objeto responsable de llevar a cabo la lógica de negocios en el portátil como "Guardar Notebook", "Cargar Notebook", "Nuevo Notebook". NotebookView es responsable de administrar el HTML que se utiliza para la presentación. Hace cosas de bajo nivel como "obtener/configurar cuerpo de cuaderno" "obtener/configurar nombre de cuaderno". También escucha eventos DOM (onClick) y dispara eventos de negocios (saveNotebook). Este es mi intento en el patrón de Vista pasiva.
Quiero que mi código javascript del lado del cliente esté orientado a objetos, separado de las inquietudes y que pueda ser comprobado por la unidad. Quiero probar NotebookController con un NotebookView simulado y viceversa. Esto significa que no puedo simplemente crear una instancia de NotebookView dentro del NotebookController. Yo también
- poner un poco de lógica en mis notebook.js que los cables de los 2 juntos
- tienen una función global en mi aplicación que sabe crear una instancia de uno de cada uno y conectarlos juntos
- Uso inyección de dependencias, ya sea uno de cosecha propia o algo así como SquirrelIoc
En Java, la elección es natural: use Spring. Pero eso no parece muy JavaScript-y. ¿Qué es lo correcto?
Tal vez me falta algo, pero puede no alcanzar la capacidad de prueba con sólo hacer seguro de que está utilizando la agregación en lugar de composición? –
Esa es la idea. Pero la pregunta es, ¿cuál es la forma correcta de conectar esa agregación de objetos? –