ExtJS 4 MVC múltiples instancias de vistas y dificultades del controlador secundario / secundario

He encontrado un problema con el patrón MVC en ExtJS 4. Al menos, creo que sí. Después de haber abordado a varias personas con esta pregunta, y haber publicado numerosas veces en los foros de Sencha, ahora me dirijo a un público más amplio con la esperanza de obtener una bombilla o una confirmación.

Problem

Su aplicación tiene la capacidad de abrir muchas vistas diferentes, algunas de las cuales son miniaplicaciones. Además, un usuario puede desear tener múltiples copias concurrentes de una vista abierta.

Esta aplicación es una aplicación Javascript de una sola página del lado del cliente.

El modelo ExtJS 4 MVC espera que defina todos sus controladores en su clase de Aplicación. Estos controladores se inicializan cuando se carga la aplicación. Los controladores realizan un seguimiento de las vistas, modelos y tiendas.

Cuando inicializa el controlador A varias veces, digamos que para crear más de una copia de una vista, termina con dos vistas que hacen referencia a los mismos almacenes de datos y funcionalmente envía eventos duplicados al bus de eventos de la Aplicación.

He refactorizado mi aplicación agregando nuevos métodos de prototipo a Componente y Controlador para permitir tanto a) subcontroladores (algunos de mis controladores se estaban volviendo bastante grandes) yb) definiendo tiendas específicamente para la vista con la que trabajan. Los modelos aún se pueden definir en el controlador, solo para facilitar su uso por parte de los controladores si necesita hacer algo como obtener un registro del servidor.

Pregunt

Mi comprensión de MVC me llevaría a creer que los modelos se relacionan más directamente con la Vista que con el Controlador. @ Supongo que ExtJS 4 decide adjuntar tiendas (que creo que se pueden ver como envoltorios para un modelo más clásico) a los Controladores con el fin de alentar la reutilización de los datos cargados y optimizar para evitar tener muchas copias de la misma clase instanciado Sin embargo, me parece que uno no puede hacer esto si tiene la intención de tener muchas instancias de una vista disponibles para el usuario. En mi opinión, tener muchas instancias es una opción importante en un marco OO, por lo tanto, he opuesto la tendencia e implementado prototipos en algunas de las clases base Ext. (¡Gracias Ext.implement!).

¿Hay alguna forma de tener múltiples instancias concurrentes de una vista con diferentes datos cargados en ellos utilizando las clases MVC listas para usar y haciendo uso de los setters, getters, etc. proporcionados

Respuestas a la pregunta(7)

Su respuesta a la pregunta