1

我有一个关于设计的问题。我刚刚浏览了 Visual Studio 的 ToDo 模板的代码,用于使用 BreezejS 和 AngularJS 构建 SPA。

有一个 todo.model.js 文件可以进行各种初始化。一件有趣的事情是,它通过一些附加功能 (addToDo) 扩展了 TodoList 实体。

这样做有什么好处,而不是在 todo.controller 中使用 addToDo 函数并将其添加到 $scope ?

4

2 回答 2

2

您可以为将所有TodoList级别持久性操作移出 TodoList 并移入其他组件提供一个很好的案例。控制器是潜在的候选人。

这些操作存在的主要原因TodoList是......因为原始 ASP.NET 模板的作者将它们放在了那里!

社区模板”的设计目标之一是让所有“TodoList”应用程序尽可能地相似。通过保持设计不变,我们让读者更容易比较不同框架的效果:Knockout、Breeze、Backbone、Ember。如果他们中的任何一个重新定位这些操作,您将不知道该更改是由目标框架强加的,还是仅仅是实施者的偏好。我们希望摆脱自我,让您专注于所涉及的技术。

不要将这些模板视为福音。在某些方面,它们是不现实的;我无法想象每次单个对象的单个属性更改时都会保存。

向他们学习。以健康的怀疑态度看待他们。一直问这样的问题。拿对你有意义的东西。丢弃其余的。

于 2013-04-21T05:45:34.347 回答
1

我相信这只是让实体为列表中的项目处理自己的保存/删除功能。控制器似乎只处理添加新列表。我不确定除了保持控制器清洁之外还有什么好处。

于 2013-04-19T22:58:43.593 回答