Je suis curieux de connaître la situation dans laquelle vous avez un contrôle utilisateur que vous souhaitez réutiliser dans une application, mais vous avez également une page ou un autre contrôle qui nécessite également un présentateur.Dans le modèle Model View Presenter, un présentateur peut-il prendre et utiliser deux interfaces de vue différentes en même temps?
dire donc j'ai une vue de téléchargement et de contrôle
public partial class UploadControlView : System.Web.UI.UserControl, IUploadView
mais j'ai aussi une vue page
public partial class ExcelProcessorView : System.Web.UI.Page, IExcelProcessorView
Le contrôle de téléchargement serait sur la page ExcelProcessor, de sorte que l'utilisateur peut télécharger un fichier qui est transmis à une logique métier de traitement Excel.
J'ai un présentateur,
public class ExcelUploadAndProcessPresenter : IUploadPresenter
Dans le ExcelProcessorView je câbler le présentateur comme suit:
protected void Page_Load(object sender, EventArgs e)
{
ExcelUploadAndProcessorPresenter presenter =
new ExcelUploadAndProcessorPresenter(this, uploadControl);
this.AttachPresenter(presenter);
uploadControl.AttachPresenter(presenter);
//init etc...
}
Est-ce une utilisation correcte du motif MVP?
J'essaye de comprendre quelle est la meilleure pratique pour manipuler un grand nombre de vues à une relation de présentateur. MVP peut-il avoir une relation de plusieurs à un de cette manière. Comme une autre question, j'aimerais aussi savoir si le modèle MVP peut/devrait gérer une situation où vous avez beaucoup de présentateurs et de nombreux points de vue (ou si vous avez seulement un présentateur)?
Si vous voyez des problèmes avec mon interprétation de MVP en général, n'hésitez pas à le faire remarquer.
Merci d'avoir lu!
Je ne suis pas. Pourriez-vous poster une modification avec un exemple de code? –