2010-06-01 8 views
5

Al igual que la mayoría de las aplicaciones web, tiene un método que se invoca cuando inicia sesión. Hay algunas cosas que pueden necesitar hacerse al iniciar sesión y con el tiempo esto puede aumentar. p.ej. registro, correos electrónicos de bienvenida, mantenimiento.¿Cuál es la mejor manera de manejar múltiples acciones?

¿Se deberían usar eventos para hacer esto o hay una forma mejor? Estoy usando C# y ASP.net MVC.

Actualización
Esto ya se encuentra en la clase Service Layer. p.ej.

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

Respuesta

0

Los aspectos pueden ser una buena manera de hacerlo. Si son preocupaciones transversales, AOP es el camino a seguir.

2

Extraiga la lógica de la aplicación para separar las clases. Será más fácil trabajar con su aplicación si mantiene los controladores lo más delgados posible.

El patrón Publicar, redirigir y obtener es efectivo para MVC. Una buena publicación sobre esto de mi colección de marcadores es: http://www.eworldui.net/blog/post/2008/05/ASPNET-MVC---Using-Post2c-Redirect2c-Get-Pattern.aspx

También recomendaría buscar filtros de acción. Robert Conery tiene una buena introducción al uso de filtros de acción en su blog al http://blog.wekeroad.com/blog/aspnet-mvc-securing-your-controller-actions/. La publicación es específica de la autenticación, pero los conceptos se pueden extrapolar a cualquier tipo de funcionalidad que desee implementar.

+0

Sí ... lo sé, pero tal vez formulé la pregunta incorrectamente ya que esto no responde – Schotime

0

En realidad prefiero su enfoque actual. Sin embargo, he visto ejemplos con eventos, pero a mí me parece más esfuerzo que su valor a menos que tenga una aplicación 'muy' compleja.

Creo que a lo que se refiere es Domain Events. Además, eche un vistazo a este blog post de Jimmy Bogard que se basa en el primer enlace. Y, por último, de SO - How to avoid anemic domain models, or when to move methods from the entities into services

Mi consejo: trate de mantener su diseño tan simple y manejable durante el mayor tiempo posible de una manera que tenga sentido para usted. A menos que haya una razón muy convincente para cambiar su enfoque actual para usar eventos, quédese con él.

Cuestiones relacionadas