我是MVC编程的新手。目前我有一个User
模型,其中包含一个属性timespent
。我正在使用d3.js在我的一个视图中绘制每个用户花费的时间。我实现这一点的当前方式是结合搜索数据库的所有逻辑并在UserController
中以正确的格式获取数据。
从我在sails文档中读到的内容,他们尽可能地推荐“瘦”控制器。在哪里可以以更可重复使用的方式合并所有这些搜索/格式化代码?
答案 0 :(得分:3)
控制器应该很薄,因为它们是控制器:) 当你开始使用MVC框架将逻辑放在控制器中时,这是一个非常常见的错误,但是它肯定应该存在。
如果您正在处理存储在数据库中并与模型相关的数据,那么我建议这个逻辑应该在模型中。正如许多人所想,模型不应该尽可能薄:)
当然,如果它不适合那里,正如Yann建议的那样,使用服务。应用程序逻辑的很大一部分应该存在!
答案 1 :(得分:2)
您应该查看Sails.js services
'服务'类似于控制器操作,但通常用于在用户发送请求和服务器发回响应之间不必发生的事情。