为什么Durandal应用程序中没有建议的"模型"文件夹?

Jos*_*osh 3 mvvm durandal

我正在开发Durandal SPA,我已经设置了一些视图和视图模型.但是,我认为MVVM架构还涉及"模型"段(Model,View,ViewModel - 对吧?).

但是,Durandal入门页面在"组织"部分下说明了这一点:

如果展开App文件夹,您将找到整个SPA示例的来源.这是您将找到的高级组织:

  • 应用
    • 迪朗达尔/
    • 的ViewModels /
    • 意见/
    • main.js

缺少此结构是"模型"文件夹.你应该把你的模型放在Durandal应用程序中的哪个位置?

我查看了其他一些示例应用程序,我找不到我所评论的任何示例应用程序的"模型"文件夹(或模型所在的任何位置).

在我看来,"models"文件夹(不存在)是Durandal应用程序的关键部分.但是,它不存在 - 因此,我质疑我对Durandal(和MVVM应用程序)的设计理解.肯定有一些我不理解的东西......有人可以填写Durandal应用程序的预期结构,以及放置模型对象的位置吗?

Kye*_*ica 6

答案是Durandal只给你运行所必需的结构,仅此而已.它使用一个viewmodelsviews文件夹,因此它会告诉你制作一个.Durandal不使用models文件夹,你这样做.

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

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

不要认为你能做或应该做的唯一事情是你在Durandal教程中看到的那些.你是开发者.您必须建立在Durandal提供的基础之上,这意味着做出自己的选择.


bla*_*iet 5

在我的应用程序中,模型始终由应用程序发出请求的REST服务或WebAPI定义.我没有必要在应用程序代码中定义这些模型.模型由服务器/服务端定义.

当使用像Breeze这样的东西时,模型只是数据库中实体模型的JSON表示.

如果您觉得在应用程序代码中定义这些模型更为舒适,那么非常欢迎您.如果我做了类似的事情,我会把它放在App\models你建议的文件夹中.不过,我不认为你大部分时间都需要这样做.