mvvm - 为什么 Durandal 应用程序中没有建议的 "model"文件夹?

标签 mvvm durandal

我正在开发 Durandal SPA,并且已经设置了一些 View 和 View 模型。但是,我认为 MVVM 架构也会涉及一个“模型”段( 模型 , View , View 模型——对吧?)。

然而,Durandal Getting Started page在“组织”部分下说:

If you expand the App folder, you will find the source for the entire SPA sample. Here's the high level organization you will find:

  • App
    • durandal/
    • viewmodels/
    • views/
    • main.js


此结构中没有“模型”文件夹。您应该将模型放在 Durandal 应用程序中的什么位置?

我查看了一些其他示例应用程序,但我找不到任何我查看过的示例应用程序的“模型”文件夹(或模型所在的任何地方)。

“models”文件夹(不存在)在我看来是 Durandal 应用程序的关键部分。但是,它不存在——因此,我质疑我对 Durandal(和 MVVM 应用程序)的设计方式的理解。肯定有一些我不理解的东西......有人可以告诉我 Durandal 应用程序的预期结构,以及将模型对象放在哪里?

最佳答案

答案是,Durandal 只为您提供运行所需的结构,仅此而已。它使用 viewmodelsviews文件夹,所以它告诉你制作一个。 Durandal 不使用 models文件夹,你做。

我在我的项目中制作了一个。如果你觉得它适合你的开发风格,你可以而且应该自己制作一个。

请注意,它也不会为不是 View 模型的代码留下任何位置,这肯定会存在于任何应用程序中。我强烈建议制作一个 modules文件夹用于此目的。

不要认为您唯一可以或应该做的事情就是您在 Durandal 教程中看到的那些事情。你是开发者。您必须在 Durandal 所提供的基础上再接再厉,这意味着您要做出自己的选择。

关于mvvm - 为什么 Durandal 应用程序中没有建议的 "model"文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16547279/

相关文章:

javascript - 无法使用 Knockout 绑定(bind)使用 durandal JS 发送 json 数据

asp.net-mvc-4 - 使用 SPA 架构验证AntiForgeryToken

knockout.js - Durandal 路由: Mapping a route with an id?

css - 使用 Bootstrap 流体样式时,Durandal/Hot Towel 模板将 body max-width 设置为 1100px 的原因是什么?

design-patterns - 在NDepend中构建CQL以验证MVVM模式

c# - ContentControl 内容属性不随托管内容而改变

c# - 将按钮命令绑定(bind)到不同的 ViewModel

c# - 时间选择器值未与 MAUI .net 中的 View 模型绑定(bind)

Durandal Modals 和导航(即后退按钮)

c# - 将 UserControl 加载到 ComboBox 更改时的窗口区域