Model View Presenter per WebForms e Winforms

0

Ho un progetto di moduli Windows che utilizza il modello Model View Presenter e vorrei creare un progetto di moduli Web sulla stessa struttura MVP.

Il progetto di Windows Form non conosce nulla dell'appartenenza ASP.Net e comunica semplicemente tramite il relatore al modello e quindi al livello aziendale per eseguire il login / convalida dell'utente. Nel progetto Web Form ho creato classi personalizzate che ereditano dalle classi di appartenenza e ruolo dei provider incorporate, in modo da poter utilizzare le tabelle utente e ruolo esistenti e integrarsi piacevolmente con i controlli di accesso di ASP.Net. Tuttavia, attualmente ho dovuto fare riferimento al livello aziendale direttamente nella classe di appartenenza personalizzata per convalidare gli utenti, quindi se seguo MVP, il codice di appartenenza non dovrebbe essere nella vista con riferimenti al livello aziendale, dovrebbe essere nel modello ma ciò significa fare riferimento a System.Web.Security nel modello.

C'è un modo di utilizzare ancora l'appartenenza ASP.Net con MVP dove i progetti webform e winforms sono costruiti sulla stessa struttura MVP? Penso di dover passare la dipendenza dall'appartenenza al presentatore e quindi al modello, ma non riesco a vedere un modo pulito per farlo.

Uno dei vantaggi comunemente menzionati di MVP è che consente di costruire interfacce utente diverse sugli stessi relatori, modelli, ecc. Tuttavia, in pratica, funziona davvero bene o è meglio implementare MVP separatamente per interfaccia utente La tecnologia?

Anche in relazione al progetto Web Form, lo stato della sessione è qualcosa che la vista può semplicemente gestire o richiede il wrapping con una classe e un'interfaccia personalizzate e il passaggio al presentatore da mantenere?

    
posta Matt F 29.03.2012 - 15:09
fonte

1 risposta

1

Stavo pensando a qualcosa di simile.

Dove"Webforms User Stuff" dipenderebbe da System.Web.Security e "Generic User Stuff" avrebbe il sapore del controllo degli accessi. Non utilizzare direttamente l'appartenenza a ASP.NET ma utilizzare la composizione.

    
risposta data 29.03.2012 - 16:51
fonte

Leggi altre domande sui tag