Алексей Ефимов Asked:2020-03-20 08:29:14 +0000 UTC2020-03-20 08:29:14 +0000 UTC 2020-03-20 08:29:14 +0000 UTC 什么是 MVC?(简单示例) 772 再会。请向新手解释什么是MVC? 我知道这是一个模型-视图-控制器,一个影响另一个,而控制器充当模型和视图之间的中介。但! 我很难想象模型是什么?我重新阅读了很多材料,但是对于我的生活,我不明白什么是模型( 我会很感激一个非常简单的例子。 mvc 4 个回答 Voted Best Answer Arhadthedev 2020-03-20T13:51:35Z2020-03-20T13:51:35Z MVC 不仅与网络服务有关,而且通常与存在结构化数据集以及需要显示它们的所有事物有关。 一般来说,模型只是通用接口后面的一个对象,可以对一组数据进行操作。我们可以将控制器连接到这个对象(在某些实现中,直接连接到视图),而无需考虑数据源以及与之交互的复杂性。 以应用程序开发中使用的 Qt 框架为例。它提供以下内容: 模型接口,允许您使用树状的表层次结构进行操作。这是最普遍的表示;实际上,模型实现了列表(一列中没有子项的表)、表(没有子项的表 MxN)、树(一列中具有子项的表)或表的实际层次结构(每个元素都有附加属性的树)。 一个光标,可让您同时从多个位置独立地行走同一模型。此外,光标“知道”它属于哪个模型。 一组现成的视图(列表、表格、树、图形等),您要将光标传递到显示的根元素。此外,视图会克隆此光标,并在模型中运行它,自行决定哪些元素以及它将如何显示。 如果数据源包含在模型接口中,则能够以任何标准形式显示任何数据。 编写自己的视图以显示来自任何潜在数据源的选择的能力,包装在模型界面中。例如,它可以是一组字段,用于显示带有“后退”和“前进”按钮的单个记录;此处视图仅在根元素(记录)的指定字段(列)上运行光标。 Baryonyx 2020-03-20T12:04:32Z2020-03-20T12:04:32Z 是数据和处理该数据的逻辑。换句话说,整个后端。 模型是应用程序/站点的工作方式,视图只是结果的输出。控制器只是询问模型用户想要什么并将其显示在视图中。 Paul Wall 2020-03-20T13:23:15Z2020-03-20T13:23:15Z 有一次他们试图向我解释,我什么都不懂,但为了更容易,这里有一个例子: 你有一个模型,它有各种各样的功能,例如,一个从数据库中检索数据,另一个写入,等等。 接下来你有一个视图,它是一个描述页面外观的愚蠢的 html 模板。 您在此模板中用于数据传输的控制器。例如,您的控制器访问模型,从那里接收数据,并将其传递给视图。 有一次,在 laravel 上学习帮助我理解了这个垃圾,他们只是有一个关于如何和为什么的超级详细的课程。 https://laracasts.com/series/laravel-from-scratch-2017 进来看看,慢慢你就明白了=) user177221 2020-03-20T13:54:03Z2020-03-20T13:54:03Z 模型是应用程序的其余部分减去视图和控制器。 本质上,MVC 将应用程序分为三个部分 View——负责显示数据 控制器 - 负责表示逻辑(验证、导航等) 模型 - 负责其他一切(通常是业务逻辑 + 数据存储 + 与外部服务的通信) MVC 是一种表示层模式,因此它不会对模型的设备施加任何硬性条件。那些。模型不是视图/控制器。 模式的特定亚种(不同品种的 MVVM/MVP/MVC)及其在不同框架中的实现可能会提出一些要求(例如,下一个答案中的 QT 想要一个“树状表层次结构”形式的模型和使用游标来工作) - 但这些是特定框架中的特定功能实现。在 Web(C#/PHP)下的 MVC 实现中,将没有表层次结构和游标,也没有模型的硬接口。将有用于数据传输的常规类和一些用于处理(BL)/存储(DAL)的代码。
MVC 不仅与网络服务有关,而且通常与存在结构化数据集以及需要显示它们的所有事物有关。
一般来说,模型只是通用接口后面的一个对象,可以对一组数据进行操作。我们可以将控制器连接到这个对象(在某些实现中,直接连接到视图),而无需考虑数据源以及与之交互的复杂性。
以应用程序开发中使用的 Qt 框架为例。它提供以下内容:
是数据和处理该数据的逻辑。换句话说,整个后端。
模型是应用程序/站点的工作方式,视图只是结果的输出。控制器只是询问模型用户想要什么并将其显示在视图中。
有一次他们试图向我解释,我什么都不懂,但为了更容易,这里有一个例子:
你有一个模型,它有各种各样的功能,例如,一个从数据库中检索数据,另一个写入,等等。
接下来你有一个视图,它是一个描述页面外观的愚蠢的 html 模板。
您在此模板中用于数据传输的控制器。例如,您的控制器访问模型,从那里接收数据,并将其传递给视图。
有一次,在 laravel 上学习帮助我理解了这个垃圾,他们只是有一个关于如何和为什么的超级详细的课程。
进来看看,慢慢你就明白了=)
模型是应用程序的其余部分减去视图和控制器。
本质上,MVC 将应用程序分为三个部分
MVC 是一种表示层模式,因此它不会对模型的设备施加任何硬性条件。那些。模型不是视图/控制器。
模式的特定亚种(不同品种的 MVVM/MVP/MVC)及其在不同框架中的实现可能会提出一些要求(例如,下一个答案中的 QT 想要一个“树状表层次结构”形式的模型和使用游标来工作) - 但这些是特定框架中的特定功能实现。在 Web(C#/PHP)下的 MVC 实现中,将没有表层次结构和游标,也没有模型的硬接口。将有用于数据传输的常规类和一些用于处理(BL)/存储(DAL)的代码。