Tout d'abord, bonne question. Deuxièmement, cela n'a peut-être pas beaucoup d'importance. Ma préférence personnelle est de presque toujours connecter Presenter et View dans la vue.
Comparer ce scénario:
public class SomePresenter
{
public ShowContactView(IContactView view)
{
IContact model = new Contact();
new ContactPresenter(model, view);
view.Show();
}
}
public class AnotherPresenter
{
public ShowContactView(IContactView view)
{
IContact model = new Contact();
new ContactPresenter(model, view);
view.Show();
}
}
public class YetAnotherPresenter
{
public ShowContactView(IContactView view)
{
IContact model = new Contact();
new ContactPresenter(model, view);
view.Show();
}
}
public partial class ContactView : Form, IContactView
{
public ContactView()
{
InitializeComponent();
}
}
à ceci:
public class SomePresenter
{
public ShowContactView(IContactView view)
{
view.Show();
}
}
public class AnotherPresenter
{
public ShowContactView(IContactView view)
{
view.Show();
}
}
public class YetAnotherPresenter
{
public ShowContactView(IContactView view)
{
view.Show();
}
}
public partial class ContactView : Form, IContactView
{
public ContactView()
{
InitializeComponent();
new ContactPresenter(new Contact(), this);
}
}
Comme vous pouvez voir que ce dernier a beaucoup moindre duplication de code. Bien sûr, c'est une duplication bête ou vous pourriez dire que vous pouvez déplacer des fonctionnalités communes à une fonction partagée, mais vous obtenez le point, c'est juste un exemple .. C'est quand vous aurez la même vue à instancier dans plusieurs parties de votre application.
En outre, l'avantage de View en connaissant le présentateur est qu'il suffit de référencer Presenter dans votre projet View pour pouvoir réutiliser le même Presenter dans différentes applications d'interface utilisateur. Sinon, vous devrez référencer chaque projet View dans le Presenter.
Mais le plus important est de voir comment les différents modèles s'adaptent à votre boîtier. Pour être honnête, there are more possibilities even. See this duplicate question.
qu'en est-il des winforms? – adriaanp