在SailsJS中设计更薄的控制器

时间:2015-07-27 11:34:15

标签: node.js model-view-controller express sails.js

我是MVC编程的新手。目前我有一个User模型,其中包含一个属性timespent。我正在使用d3.js在我的一个视图中绘制每个用户花费的时间。我实现这一点的当前方式是结合搜索数据库的所有逻辑并在UserController中以正确的格式获取数据。

从我在sails文档中读到的内容,他们尽可能地推荐“瘦”控制器。在哪里可以以更可重复使用的方式合并所有这些搜索/格式化代码?

2 个答案:

答案 0 :(得分:3)

控制器应该很薄,因为它们是控制器:) 当你开始使用MVC框架将逻辑放在控制器中时,这是一个非常常见的错误,但是它肯定应该存在。

如果您正在处理存储在数据库中并与模型相关的数据,那么我建议这个逻辑应该在模型中。正如许多人所想,模型不应该尽可能薄:)

当然,如果它不适合那里,正如Yann建议的那样,使用服务。应用程序逻辑的很大一部分应该存在!

答案 1 :(得分:2)

您应该查看Sails.js services

  

'服务'类似于控制器操作,但通常用于在用户发送请求和服务器发回响应之间不必发生的事情。