我想在MVC模式中澄清一下模型中的内容,特别是MVC3中Models文件夹的内容,而不是存储库和对象。
目前,在我目前的MVC3解决方案中,我有4个项目:
我真正想要澄清的是,对象项目应该与Web项目的Models文件夹中的内容之间存在差异。现在我只使用Models文件夹来保存我称之为“View Models”的东西,它通常包含核心对象的组合。此文件夹中的文件是否只包含定义模型内容的定义,还是应包含控制器可能调用的其他代码?
我认为我对控制器和存储库都有很好的理解,但有时我会对某些代码是否应该进入其中一个感到困惑。是否有任何具体的指导方针或限制,关于什么绝对不应该在控制器中,但应该放在存储库或模型中?
一如既往地谢谢。
答案 0 :(得分:1)
除了将对象和数据组合在一个由所有项目引用的Core库中之外,我们做了一些非常相似的事情。 MVC项目中的models文件夹严格用于View Models。
如果你的控制器需要额外的类,它实际上取决于它需要什么。我通常会包含一个Helpers文件夹,其中包含HtmlHelpers,Attributes和Filters的子文件夹。如果它是一个在MVC项目之外存在的依赖(在所有项目中使用的公共类),我会将它添加到Core。