asp.net core 中的 MVC 架构模式

Posted

技术标签:

【中文标题】asp.net core 中的 MVC 架构模式【英文标题】:MVC architecture pattern in asp.net core 【发布时间】:2021-11-23 13:10:08 【问题描述】:

我开始学习asp.net core 并看到在视图文件 您始终可以在视图中使用 ViewModel 类的对象 @Model, 我想知道这里使用的架构模式是 MVC 还是 MVVM?

而且,asp.net 核心是否因为 razor 页面和 viewModel 之间的绑定而坚持一种架构模式?

【问题讨论】:

我不确定我是否真的理解这个问题,但我认为这可能有助于解决一些困惑:***.com/questions/48121928/… 请编辑问题以将其限制为具有足够详细信息的特定问题,以确定适当的答案。 【参考方案1】:

根据您的描述,我假设您想知道,Asp.net Core Razor 页面的页面模型是 MVC 架构模式还是 MVVM 模式,对吧?我建议你可以查看this article。

Razor Pages PageModel 类的主要目的是在 UI 层(.cshtml 视图文件)和页面处理逻辑之间提供清晰的分离。

视图模型是表示模型设计模式的一种实现。它是一个自包含的类,表示特定“视图”或页面的数据和行为。视图模型模式在 MVC 应用程序开发中广泛使用,它主要表示数据,但通常很少表示行为。在 Razor Pages 中,PageModel 也是视图模型。

Razor Pages 有时被描述为实现 MVVM(模型,视图视图模型)模式。它没有。 MVVM 模式适用于表示和模型共享同一层的应用程序。它在 WPF、移动应用程序开发和一些 javascript 库中很流行。 MVVM 的一个主要特性是视图会自动更新以反映对底层模型的更改。这个过程通常由双向绑定和观察者模式的实现来控制。在服务器端 Web 应用程序中,模型位于服务器上,视图位于客户端。在这种分布式架构中,您需要实现额外的复杂层才能实现观察者模式之类的任何东西。

【讨论】:

以上是关于asp.net core 中的 MVC 架构模式的主要内容,如果未能解决你的问题,请参考以下文章

[七] ASP.NET Core MVC 的设计模式

简述关于ASP.NET MVC与.NET CORE 的区别

Asp.Net Core 空白模板搭建Mvc架构

ASP.NET Core ---- 系列文章

如何使用 EF Core 代码优先迁移为 ASP.NET Core MVC 配置 N 层架构

ASP.NET 5/ASP.NET Core 1 中的关注点分离和 n 层架构