【问题标题】:Static class or multiple object references静态类或多个对象引用
【发布时间】:2015-02-08 06:11:44
【问题描述】:

我正在编写一个 MVC 5 互联网应用程序,我有一个问题是我应该在我的每个类中使用完全相同的方法,还是使用带有此方法的静态类。

方法如下:

public Account GetAccount(string userName)
{
    if (Session[userName] == null)
    {
        var userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext()));
        ApplicationUser user = userManager.FindByNameAsync(userName).Result;
        Session[userName] = user.account;
    }
    return Session[userName] as Account;
}

目前,我正在将此方法添加到许多控制器和服务类中。与其在许多类中这样做,我是否应该只在静态类中声明一次此方法,并在我想获得Account 对象时使用此静态类?

我应该注意哪些缺点/优点?

提前致谢。

【问题讨论】:

  • 不要重复代码。所以把它放在一个地方,让所有其他用途访问那个地方。不一定是静态的,但它可以是。

标签: class methods controller asp.net-mvc-5 static-class


【解决方案1】:

您有多种选择, 选项 1:您可以创建一个单独的类并将方法放在该类中,该类不必是静态的。 选项 2:您可以创建帐户类的扩展方法。 选项 3:A. 为 Controller 创建一个基类,如:public class BaseController: Controller 并为所有控制器继承 BaseColtroller,B. 服务相同。

谢谢
拉维兰詹

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多