【问题标题】:Asp.net MVC4, C# Create object instanceAsp.net MVC4, C# 创建对象实例
【发布时间】:2013-04-10 16:18:24
【问题描述】:

我应该在哪里创建实例? 哪种方式更好,为什么?

1) 在构造函数中?

public class UserController : Controller
{
    private UnitOfWork unitofwork;

    public UserController(){
         unitofwork = new UnitofWork();
    }

    public ActionResult DoStuff(){
    ...

2) 作为私有类成员?

public class UserController : Controller
{
    private UnitOfWork unitofwork = new UnitofWork();

    public ActionResult DoStuff(){
    ...

【问题讨论】:

  • 两个 sn-ps 将编译成完全相同的代码 imo。

标签: c# .net asp.net-mvc asp.net-mvc-4


【解决方案1】:

这是个人喜好,真的。有些人喜欢在构造函数之外进行初始化,仅仅是因为其他人出现并添加新成员而不初始化它的可能性较小,因为他们面前有一个示例。

作为一般规则,如果对象的初始化需要任何逻辑或需要参数,那么我更喜欢在构造函数中进行。不过,无论您选择什么,请确保保持一致。

编辑:注意,在构造函数中初始化还允许您调用非静态方法和属性

【讨论】:

    【解决方案2】:

    取决于您想要实现的目标。如果你使用一个字段来做,它会在构造函数之前之前被初始化,所以你可以在以后做其他事情。

    在这个特定的例子中,没有太大区别(除了顺序)。

    【讨论】:

      【解决方案3】:

      我更喜欢将它保留在构造函数中,因为它允许您在需要时将其扩展,而无需更新您调用它的所有位置,并且还可以使您的调用代码更简洁。

      【讨论】:

        猜你喜欢
        • 2021-07-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-03-18
        • 2014-05-24
        相关资源
        最近更新 更多