首先,我想与您分享这篇关于ViewModel的非常有趣的文章: http://rachelappel.com/use-viewmodels-to-manage-data-amp-organize-code-in-asp.net-mvc-applications
我有一个问题 所有ViewModel类都是从基类ex:BaseViewModel派生的,这是一个好习惯,因为大多数网站/ Web应用程序都有通用的信息显示,通常在母版页中? 在ASP.NET MVC中工作正常,布局(母版页)模型是BaseViewModel,每个View都有不同的ViewModel。
欢迎使用ViewModel接口的任何示例。
感谢。 Riadh
答案 0 :(得分:5)
所有ViewModel类派生自基类
是一种好习惯
虽然在某些情况下可能会出现这种情况,但并不是所有ASP.NET MVC应用程序都可以推广的东西。还有其他方法可以在所有ASP.NET MVC视图中显示公共信息,例如使用child actions
。
子操作完全独立于主操作,即使它们在同一HTTP请求中执行并且聚合结果,它们也可以具有完全独立的视图模型,其中仅包含布局的此特定部分所需的信息。他们可以独立查询您的数据提供者以获取域模型并将其映射到相应的视图模型。所有这些都可能完全独立于主要操作和视图模型。因此,您的主视图模型不需要从公共基本视图模型派生。
因此,您无法真正概括使用通用基本视图模型是否是最佳实践。您问题的简单答案是:它取决于您正在开发的应用程序的具体情况。