繁体   English   中英

处理多个操作的最佳方法是什么?

[英]What is the best way to handle multiple actions?

与大多数Web应用程序一样,您有一个在登录时调用的方法。登录时可能需要完成一些操作,随着时间的推移,这可能会增加。 例如。 记录,欢迎电子邮件,维护。

应该使用事件来做到这一点还是有更好的方法? 我正在使用C#和ASP.net MVC。

更新
这已经在其服务层类中。 例如。

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

将应用程序逻辑解压缩到单独的类。 如果您使控制器尽可能薄,您的应用程序将更容易使用。

Post,Redirect,Get模式对MVC有效。 我的书签收藏中关于此的一篇好文章是: http//www.eworldui.net/blog/post/2008/05/ASPNET-MVC---Using-Post2c-Redirect2c-Get-Pattern.aspx

我还建议调查动作过滤器。 Robert Conery在他的博客http://blog.wekeroad.com/blog/aspnet-mvc-securing-your-controller-actions/上对使用动作过滤器进行了很好的介绍。 该帖子是特定于身份验证的,但概念可以推断为您要实现的任何类型的功能。

方面可能是一个很好的方法。 如果他们是跨领域的问题,AOP是要走的路。

我其实更喜欢你现在的做法。 但是,我已经看到了事件的例子,但对我而言,除非你有一个“非常”复杂的应用程序,否则它似乎比它的价值更多。

我认为你所指的是域事件 另外,请查看Jimmy Bogard撰写的基于第一个链接的博客文章 最后,从SO - 如何避免贫血领域模型,或何时将方法从实体转移到服务

我的建议 - 尽量让你的设计尽可能简单和易于管理是一种对你有意义的方法。 除非有一个非常令人信服的理由改变你当前的使用事件的方法,坚持下去。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM