He estado intentando comprender completamente el patrón de Presentar model View como se aplica a C#. Tengo una pregunta que no puedo entender.Model-View-Presenter: ¿Por qué el modelo está estático?
En muchos ejemplos, noté que el modelo se define como estático y se construye en la clase base del presentador (a menudo una clase genérica).
¿Cómo se pueden tener múltiples clases de modelo en ese caso? Desde mi entendimiento, cada presentador creado solo podrá hacer referencia a una sola clase de modelo.
El ejemplo que estoy viendo ahora se puede encontrar aquí: http://wesaday.files.wordpress.com/2009/01/finalzip.doc (cambiar el nombre a .zip). Es de este tutorial: http://wesaday.wordpress.com/2009/01/30/winform-model-view-presenter-part-v-the-view/
Supongo que el problema general que estoy teniendo es ver cómo ejemplos como el anterior se adaptan a una aplicación en funcionamiento con múltiples vistas/presentadores/modelos.
Creo que entiendo. ¿Esto significa que la clase de presentador siempre debe instanciar una clase de modelo (ya que no es una instancia compartida)? – halohunter
El presentador debe instanciar una nueva instancia de modelo o recibirla de una fuente externa. Por ejemplo, generalmente agrego un método de inicialización (modelo, vista) a mi presentador base, luego aplico lógica basada en el valor del modelo para determinar cómo crear una instancia del modelo. Si el valor es nulo, se invoca un método abstracto para permitir que la subclase cree una nueva instancia de modelo. Si el valor corresponde al tipo del modelo, el presentador simplemente lo usa como su modelo. Si el valor corresponde al tipo de ID del modelo, el valor de ID pasa a un método abstracto para la recuperación del modelo. –