模型和业务逻辑分离?

时间:2014-01-15 15:53:00

标签: asp.net-mvc asp.net-mvc-4 design-patterns

我是ASP.NET MVC 4应用程序和设计模式的新手,并寻找最佳实践,但我有点困惑,如何构建我的项目/在哪里放置什么代码。 (但是,我已经编写了一些代码,但我想更好地组织它)

我基本上需要以下结构:我有一个后端程序集(因为它经常运行一个后台线程,但那并不重要),其中我的实体模型是最低层。然后是一些类,其中我抽象所有数据操作。一个简单的例子是,我有一个对象,它提供了创建,删除,管理用户权限的功能,因为所有这些操作都不是简单的SQL查询,但需要一些额外的工作。这个抽象层是我的域模型吗?

然后是我的ASP.NET MVC项目。我读了这篇关于MVC项目最佳实践的blog post。第二点是让我分心的那一点:

  

将所有业务逻辑放在模型中。

现在我不确定,在我的模型中放什么。到现在为止,我想,我的控制器负责我的业务逻辑?这种模型怎么称呼?这是一个视图模型吗?

非常感谢。

1 个答案:

答案 0 :(得分:1)

  

我想,我的控制器负责我的业务逻辑?

不,控制器应该尽可能简单 - 当然没有业务逻辑。

  

这些模型叫什么(具有业务逻辑的模型)?

商业模式如何。

  

这是一个视图模型吗?

不,视图模型是一个仅适用于您的视图的简单对象,它们没有任何业务逻辑。