0

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

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

有时我会遇到一个问题,我不知道是否应该将代码放入控制器或模型中。

例如:

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

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

因为正如我所见,每个创建方法都应该遵循这种模式,这意味着它应该在模型上。但是,由于它是逻辑的东西,应该在控制器中......

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

4

1 回答 1

1

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

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

于 2014-08-22T23:28:34.450 回答