在哪里放置帮助我执行控制器任务的函数?

jao*_*jao 14 asp.net-mvc separation-of-concerns

我目前正在开发一个ASP.net MVC网站项目.

我已将所有与数据库相关的内容放在我的模型中,例如查询和更新/删除/保存功能.

我还创建了几个执行逻辑的控制器.我添加了一个Helpers名称空间,在该名称空间中有一些类包含用于分页,国际化等的逻辑.

我想知道放置函数和类的最佳实践是什么,它们可以执行一些常规操作,例如生成发票?

Jan*_*ich 5

正如我在上面的评论中所表达的那样,我对这个问题非常感兴趣.

首先,直接在ASP.NET MVC项目中创建其他目录(对于其他类和实用程序)似乎是错误的.而且,我觉得它不应该在模型中.对我来说,模型是或多或少的数据类,它们在某种程度上代表数据库(或我们试图建模的数据).最重要的是,业务功能(或应用程序中的"真实"代码片段)通常一次处理多个模型类,因此在某些模型类中可能没有自然的位置.

所以我认为我倾向于以下架构:

  • 使控制器动作非常小 ; 每行只有几行代码.
  • 保持模型简单,大多无功能,并将其放入一个单独的项目中.
  • 把所有的代码,做所有的"实际"的工作(以下简称"业务层")到一个单独的项目.

通过这种方式,您可以完全自由地选择自己的命名空间,您将能够创建任意数量的实用程序类,函数,并且通常能够根据需要构建代码,而不受ASP.NET MVC的限制.

这只是一个想法.目前我正在开发我的第一个更大的ASP.NET MVC应用程序.所以我实际上将要了解它是否以及如何在实践中发挥作用.