Pregunta

Me han implementado tradicionalmente un Modelo-Vista-Presentador [Ver pasiva], así:

interface IView
{
string Title {set;}
}

class frmTextBox : Form, IView
{
...
public string Title
{
set { this.txtTitle.Text = value; }
}
...
}


class frmLabel : Form, IView
{
...
public string Title
{
set { this.lblTitle.Text = value; }
}
...
}

class Presenter
{
private IView view;
...
public void UpdateTitle
{
this.view.Title = "A Good Title";
}
...
}

y yo he utilizado tradicionalmente sólo los tipos primitivos en la interfaz IView (int, string, bool) porque siempre he entendido que es necesario utilizar tipos primitivos sólo en la vista. En un repositorio (como NHibernate), si quiero mostrar una lista de elementos de una DataGridView, tengo que pasar una colección genérica (IList<T>) desde el modelo al presentador. Hace que violan la regla detrás vistas como que consiste solamente en tipos primitivos o pudiera ser esto arquitectónicamente bien?

Incluso si tuviera un objeto de transferencia de datos (DTO), que sería más de un controlador de supervisión en lugar de estilo de vista pasiva estoy tratando de poner en práctica.

Pensamientos ??

¿Fue útil?

Solución

Existen patrones para ayudarle a diseñar su solución basada en las experiencias de otros.

Son nada más que las plantillas formalizados.

Use cualquier estructura hace más productivo, incluso si no se ajusta a una definición arbitraria perfectamente.

Otros consejos

Wow quizá he estado perdiendo de mucho. Nunca he visto puntos de vista como limitada a solamente se muestran los tipos primitivos.

Me interesaría saber por qué se usa esta restricción y cuál es el beneficio de la misma? Eso no quiere decir que "la OMI es totalmente equivocado", pero estoy curioso en cuanto a sus beneficios. Mi creencia es que las computadoras son lo suficientemente poderosos ahora que a menos que se apuntan a una especificación de rendimiento específica del costo de un martilleo desarrollador de distancia para encajar alguna directriz sería un costoso uso de los recursos.

No es que sea ningún respaldo per se. pero todos los artículos MVC que he visto han sido felizmente congregando alrededor de clases entre la vista y el controlador. Desde MVP es simplemente una forma diferente de MVC yo diría que si no es un problema con MVC debe ser con el MVP?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top