MVC模型类中的函数

本文关键字:函数 模型 MVC | 更新日期: 2023-09-27 18:26:51

我想知道MVC模型类中是否有函数?我想在View中使用这些方法来接受一个参数并执行一些业务逻辑。

这是个标准主意还是个坏主意?或者是否有任何问题与这种方法有关?

MVC模型类中的函数

在我看来,不,这不是标准的,除非你认为模型不仅仅是简单的类。。。

试试这个:

保持模型分离:

-为您的业务层和数据访问层提供服务的模型。让我们称它们为Models

-为MVC视图提供服务的模型。让我们称之为ViewModels

然后试着把你的管制员看成是交通警察。让他们接受请求,并指定一个人来做实际的工作。

这意味着最好在应用程序中创建两个独立的部分。

-业务层。-数据访问层。

如果这个应用程序很小,你可以把上面的两层合为一层。

所以,毕竟你会有:

-控制器通过ViewModels与视图对话。-控制器使用模型与业务/数据访问层进行对话。

因此,保持modelsviewmodels的精简,并在不同的层中执行业务逻辑,而不是在控制器中(它可能是另一个项目,也可能只是项目中的另一个类)。

其他信息:

你可以有你的模型像:

public class Course
{
    public int CourseId { get; set; }
    public string CourseName { get; set; }
}
public class Faculty
{
    public int FacultyId { get; set; }
    public string FacultyName { get; set; }
    public List<Course> AllotedCourses { get; set; }
}
public class Student
{
    public int EnrollmentNo { get; set; }
    public string StudentName { get; set; }
    public List<Course> EnrolledCourses { get; set; }
}

您的ViewModel:

public class ViewModelDemoVM
{        
    public List <Course> allCourses { get; set; }
    public List <Student> allStudents { get; set; }
    public List <Faculty> allFaculties { get; set; }
}

然后创建一个单独的类来处理模型,并返回视图模型供控制器传递给视图,反之亦然。

我通常将所有业务逻辑都放在模型类中,并试图使控制器尽可能愚蠢。

就我个人而言,我认为你不应该考虑任何商业逻辑,除非别无选择。

也许你可以向我们展示你的代码,这样讨论起来就更容易了。