在MVC3中存储非模型/非控制器代码的最佳位置

时间:2012-06-19 17:19:08

标签: c# asp.net-mvc-3 coding-style

所以我正在阅读Scott Gu的博客条目,其中有一段很好的代码用于在MVC3中创建一个新的验证对象

Code Snippet From Scott Gu's Blog

哪里“逻辑”是在MVC3环境中存储它的最佳位置?是否最好将其存储在与解决方案相关的新项目中?在MVC中是否存在与Webforms中的app_code等效文件夹?

我喜欢在编码时保持一切整洁(可能是OCD!)但是想在社区中选择最佳实践。

2 个答案:

答案 0 :(得分:2)

我认为这样的代码可以在各种项目中重用,并不是我正在处理的Web应用程序特有的。所以我创建了一个特殊的实用程序项目,在该项目中,我可能有一个Annotations或Validation的命名空间或类似的东西,我会把这样的类。

答案 1 :(得分:1)

我通常将解决方案分成至少两个程序集(或项目)。一个托管实际的Web应用程序,一个包含业务对象,实用程序类和方法等。这通常也有助于您需要在不同的位置重用某些逻辑 - 例如,假设您最终编写了一个Windows需要一些逻辑和那些业务对象的服务,如果它们在自己的程序集中被隔离,它会有所帮助。 Web项目命名空间仅保留用于与表示相关的内容而不是业务功能。在某种程度上,我认为我总是认为ASP或WinForms或MVC方面只是业务组件中应用程序实际内容的管道。所以这就是我可能会最终放到这样的东西。