2010-06-01 14 views
5

Come la maggior parte delle applicazioni Web, un metodo viene chiamato quando si effettua il login. Ci sono alcune cose che potrebbero essere necessarie per eseguire il login e nel tempo potrebbe aumentare. per esempio. registrazione, e-mail di benvenuto, manutenzione.Qual è il modo migliore per gestire più azioni?

Gli eventi dovrebbero essere utilizzati per fare questo o c'è un modo migliore ?? Sto usando C# e ASP.net MVC.

Aggiornamento
Questo è già nella sua sul servizio di classe Livello. per esempio.

public void Login(User user) 
     { 
      SetAuthCookie(user); 
      LogLogin(user, true); 
      SendEmails(); 
     } 

risposta

0

Gli aspetti potrebbero essere un buon modo per farlo. Se sono preoccupazioni trasversali, AOP è la strada da percorrere.

2

Estrarre la logica dell'applicazione per separare le classi. La tua applicazione sarà più facile da lavorare se manterrai i controller più sottili possibile.

Post, Reindirizza, Ottieni modello è valido per MVC. Un buon post su questo dalla mia raccolta di segnalibri è: http://www.eworldui.net/blog/post/2008/05/ASPNET-MVC---Using-Post2c-Redirect2c-Get-Pattern.aspx

Vorrei anche raccomandare di esaminare i filtri di azione. Robert Conery ha una buona introduzione all'uso dei filtri di azione sul suo blog allo http://blog.wekeroad.com/blog/aspnet-mvc-securing-your-controller-actions/. Il post è specifico per l'autenticazione, ma i concetti possono essere estrapolati a qualsiasi tipo di funzionalità che si desidera implementare.

+0

Sì ... lo so, ma forse ho formulato la domanda sbagliata in quanto questo non risponde – Schotime

0

In realtà preferisco il tuo approccio attuale. Tuttavia, ho visto esempi di eventi, ma a me sembra uno sforzo maggiore del suo valore, a meno che tu non abbia un'applicazione "molto" complessa.

Penso che quello a cui ti riferisci sia Domain Events. Inoltre, dai un'occhiata a questo blog post di Jimmy Bogard che si basa sul primo link. E infine, da SO - How to avoid anemic domain models, or when to move methods from the entities into services

Il mio consiglio: cercare di mantenere il design il più semplice e gestibile il più a lungo possibile è un modo che ha senso per voi. A meno che non ci sia un motivo molto convincente per cambiare il tuo approccio attuale per usare gli eventi, segui questo.

Problemi correlati