在mvc3应用程序中组织代码的最佳实践

时间:2011-12-15 10:36:16

标签: asp.net-mvc-3

我想制作一个mvc3应用程序,即学生管理。 我见过一些开源项目。 他们使用了核心,数据服务大米等解决方案结构。 有没有理由使用这样的结构?

3 个答案:

答案 0 :(得分:3)

通常将事情分开是一个好主意。

我的意思是不要将业务逻辑与数据库管理代码混合,并在视图文件中包含非UI代码。

这使得其他人更容易理解您编写的代码。当你在一段时间后回到某个项目进行改进或纠正错误时,我也会帮助你。

如果不再拍摄,我希望这能回答你的问题。

编辑:我发现这个link解释了它是如何在MVC框架中完成的。

答案 1 :(得分:3)

使用layered architecture使用Separated Interface模式隔离每个图层。对于数据库,使用Repository pattern(最简单的归档方式是使用像nhibernate这样的ORM)。

使用inversion of control container减少耦合(借助接口),并使处理类之间的依赖关系变得更容易。

答案 2 :(得分:2)

如前面的答案所述,您应该将逻辑层分为最少的BusinessLogic(实体,验证等),数据(您最喜欢的ORM)和演示文稿(MVC)。

但是,如果您刚刚开始使用SOLID架构的所有更高级概念,可能会有点令人生畏。

分隔逻辑层并不总是意味着单独的项目。标准MVC3模板使用“Models”文件夹演示此内容。添加到此的任何实体都将位于命名空间Myproject.Models下。稍后您可以将Models文件夹中的代码重新分解为单独的dll,添加引用,只要命名空间仍然是Myproject.Models,MVC应用程序将继续工作。

您的数据访问层可以做同样的事情!

如果您刚刚开始,我建议您在MVC项目中开发应用程序,并使用文件夹(命名空间)分隔DAL和业务层。应用程序运行后,您可以根据需要重新考虑因素。