我正在尝试第一次实现MVC。我也读了很多博客和专业的mvc书。现在,当我实现它时,我无法弄清楚在哪里放置我的一些业务逻辑
我使用Linq to SQL定义了域模型。我理解存储库模式用于向模型添加持久性。但是,我无法决定将实际业务逻辑放在何处。例如在保存之前,需要检查特定模型的重复项。还有一些其他逻辑决定了这个模型是否有资格保存。你把这种逻辑放在哪里?我应该把它放在存储库中吗?或者我应该在存储库顶部插入业务层。
所以它看起来像
控制器 - >业务逻辑 - >存储库 - > DL
非常感谢任何帮助。
答案 0 :(得分:-1)
如果项目不是太大,我通常会将业务逻辑放入主项目中的单独项目中。如果已经设置了存储库,则可以将其移动到存储库,或者只需将datacontext传递给帮助程序以删除冗余,并允许帮助程序只查找某些情况并报告真或假响应。
如果项目非常大,我通常会将数据移动到自己的项目中,并引入数据访问层,如repo或类似物,以允许客户端获取数据而无需显式调用数据。