C# 为什么模型在MVC中只有声明?

C# 为什么模型在MVC中只有声明?,c#,asp.net-mvc,asp.net-mvc-4,mvvm,C#,Asp.net Mvc,Asp.net Mvc 4,Mvvm,我是新来的MVC。根据MVC教程,模型是包含业务逻辑的类。但在我提到的所有示例中,模型只包含声明(使用接口)。为什么模型不能包含业务逻辑的定义。因为我比较了MVVM模型,其中模型包含定义 为什么模型看起来像这样 public interface IDBModel { void addRecord(); void deleteRecord(); } 而不是像下面这样 public Class DBModel { void addRecord() { // I

我是新来的
MVC
。根据MVC教程,模型是包含业务逻辑的类。但在我提到的所有示例中,模型只包含声明(使用接口)。为什么模型不能包含业务逻辑的定义。因为我比较了MVVM模型,其中模型包含定义

为什么模型看起来像这样

public interface IDBModel
{
    void addRecord();
    void deleteRecord();
}
而不是像下面这样

public Class DBModel
{
  void addRecord()
  {
       // Insert logic
  }

  void deleteRecord()
  {
       // Delete logic
  }
} 

请通过一些实时示例帮助我理解MVC和MVVM中“模型”的用途。

模型用于封装数据,从而更容易从应用程序的不同逻辑区域传输数据。您给出的第一个示例不正确,因为您正在使用方法定义接口。您很可能会看到这样的模型:

public class Person {
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string FullName() {
        return string.Format("{0} {1}", FirstName, LastName);
    }
}

请注意,我使用属性作为传输数据的方式,但有一个执行轻量级逻辑的方法(这也可以作为只读属性完成)。90%的情况下,这就是您的模型的外观

模型用于封装数据,使从应用程序的不同逻辑区域传输数据更容易。您给出的第一个示例不正确,因为您正在使用方法定义接口。您很可能会看到这样的模型:

public class Person {
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string FullName() {
        return string.Format("{0} {1}", FirstName, LastName);
    }
}

请注意,我使用属性作为传输数据的方式,但有一个执行轻量级逻辑的方法(这也可以作为只读属性完成)。90%的情况下,这就是您的模型的外观

模型用于封装数据,使从应用程序的不同逻辑区域传输数据更容易。您给出的第一个示例不正确,因为您正在使用方法定义接口。您很可能会看到这样的模型:

public class Person {
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string FullName() {
        return string.Format("{0} {1}", FirstName, LastName);
    }
}

请注意,我使用属性作为传输数据的方式,但有一个执行轻量级逻辑的方法(这也可以作为只读属性完成)。90%的情况下,这就是您的模型的外观

模型用于封装数据,使从应用程序的不同逻辑区域传输数据更容易。您给出的第一个示例不正确,因为您正在使用方法定义接口。您很可能会看到这样的模型:

public class Person {
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string FullName() {
        return string.Format("{0} {1}", FirstName, LastName);
    }
}

请注意,我使用属性作为传输数据的方式,但有一个执行轻量级逻辑的方法(这也可以作为只读属性完成)。90%的情况下,这就是您的模型的外观

我会把MVC中的M更像一个视图模型。它包含视图显示自身所需的所有属性和格式逻辑。不需要为它提供接口


控制器负责根据从服务接收到的模型构建视图模型。

我将MVC中的M更像一个视图模型。它包含视图显示自身所需的所有属性和格式逻辑。不需要为它提供接口


控制器负责根据从服务接收到的模型构建视图模型。

我将MVC中的M更像一个视图模型。它包含视图显示自身所需的所有属性和格式逻辑。不需要为它提供接口


控制器负责根据从服务接收到的模型构建视图模型。

我将MVC中的M更像一个视图模型。它包含视图显示自身所需的所有属性和格式逻辑。不需要为它提供接口

控制器负责根据从服务接收到的模型构建视图模型。

我认为您误解了
模型

工作:模型是包含
业务逻辑的类(不是业务逻辑)

模型:模型对象是应用程序中实现应用程序数据域逻辑的部分。
通常,模型对象在数据库中检索和存储模型状态。例如,产品对象可能从数据库检索信息,对其进行操作,然后将更新后的信息写回SQLServer中的Products表

看一看

为什么模型看起来像这样?

您的应用程序可能遵循某些不同的模式。除了MVVM

实时示例/基本理解:

我认为您误解了
模型

工作:模型是包含
业务逻辑的类(不是业务逻辑)

模型:模型对象是应用程序中实现应用程序数据域逻辑的部分。
通常,模型对象在数据库中检索和存储模型状态。例如,产品对象可能从数据库检索信息,对其进行操作,然后将更新后的信息写回SQLServer中的Products表

看一看

为什么模型看起来像这样?

您的应用程序可能遵循某些不同的模式。除了MVVM

实时示例/基本理解:

我认为您误解了
模型

工作:模型是包含
业务逻辑的类(不是业务逻辑)

模型:模型对象是应用程序中实现应用程序数据域逻辑的部分。
通常,模型对象在数据库中检索和存储模型状态。例如,产品对象可能从数据库检索信息,对其进行操作,然后将更新后的信息写回SQLServer中的Products表

看一看

为什么选择lo型号