【问题标题】:Code in Model or Controller模型或控制器中的代码
【发布时间】:2014-08-22 23:12:09
【问题描述】:

这是一个 MVC 模型的设计模式问题。

我正在使用 GeddyJs(用于 Node.js),但它与 Sails.js 等模式相同。

有时我不知道应该将代码放入控制器还是模型中。

例如:

我有一个 SerialKey 模型,根据我的算法,每个序列都应该有一个唯一的生成 id(比如说,一个随机名称,如 blue catnice car...)。

这个生成、检查数据库中是否存在以及插入的过程是应该由 Controller 还是 Model 完成的?

因为正如我所见,每个创建方法都应该遵循这种模式,这意味着它应该在模型上。不过,既然是逻辑的东西,就应该在Controller里面……

在这些情况下该怎么办?我把它放在什么地方,如果它可以工作就可以了吗?

【问题讨论】:

  • 您打算使用 MVC 还是 Rails 结构的一些变体?

标签: node.js design-patterns model-view-controller sails.js geddy


【解决方案1】:

这个生成、检查数据库中是否存在以及插入的过程是应该由 Controller 还是 Model 完成的?

型号。我更喜欢“胖模型,瘦控制器”设计,当然这里有不同的意见。我将控制器视为“胶水代码”,它们更难测试,因为它们在输入端和输出端都有合作者。从而使他们保持苗条。生成默认值,确保模型中的唯一性和其他面向数据的逻辑等约束。

【讨论】:

  • 所以,基本上......没有一个“正确”的答案。这是做你认为最好的事情的问题?
  • 是的。有some people who think MVC as a whole is bad。这绝对是一个意见问题。
  • 我认为这句话说明了一切:You have models, [...], views [...], and controllers which are nice self-contained bits of … What?。回答了我的问题..
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-03
  • 2020-03-15
  • 2015-01-06
相关资源
最近更新 更多