ASP.NET MVC - 解决方案布局建议

Nat*_*lor 5 asp.net-mvc separation-of-concerns

我已经使用ASP.NET MVC几个月了,我对项目解决方案的布局仍然不满意.我正在尝试构建一个尽可能便携且可重用的中型网站CMS,并且在设计中存在一些明显的问题.我正在寻找一些关于如何构建我的解决方案的建议,考虑到关注点的分离.我在这里找到了一个类似的问题,但它并没有真正针对我面临的一些问题.

现在,这就是我的解决方案的布局:

+Project.Controllers - All Controller classes
P+roject.Controllers.Tests

+Project.Core - Utility classes including repetitive tasks and some configuration handlers (this project needs to be better fleshed out)
+Project.Core.Tests

+Project.Models - Model classes, Entity Framework context, and Repository classes
+Project.Models.Tests

+Project.Web - All Views and Content

我目前缺少的一个主要问题是坚持我的业务逻辑,我觉得我错误地将业务逻辑放在我的存储库类中,并将其混合在控制器操作中.显然,我非常清楚这个问题,我只是不确定将业务逻辑放在解决方案布局中的哪个位置.我的解决方案结构是否需要更改,还是可以在我的模型项目中安全地保留该业务逻辑?另外,我真的不喜欢我的EF上下文在Models类中,但我不知道如何将数据层代码与模型中所需的实体类隔离开来.

其他人如何布置他们的ASP.NET MVC生产解决方案?

oll*_*lle 4

您可能想要查看S#arp 架构项目使用的布局或Code Camp Server MVC 参考应用程序中使用的洋葱架构。这两个项目都由不同的人投入了大量的精力,以便在 ASP.NET MVC 和领域驱动设计的背景下很好地分离关注点。