MVC是否取代传统的手动创建的BLL?

use*_*uld 9 .net c# asp.net-mvc n-tier-architecture

我习惯手工创建UI,BLL,DAL(有时我使用LINQ-to-SQL或SubSonic用于DAL).自发布以来,我已经使用MVC完成了几个小项目.

在这些项目中,我仍然继续手工编写BLL和DAL,然后将它们合并到MVC的模型/控制器中.我希望在项目上优化我的时间,这似乎有点过分,可能浪费时间.

滚动DAL(如SubSonic)并直接在我的MVC Web应用程序的模型/控制器中使用它是否可以接受?现在模型和控制器将充当BLL.我只是把这看作是一个主要的节省时间,不必担心另一层.

更新:

我只是想补充一点,我关心的不是DAL(我经常使用SubSonic和NH),而是专注于BLL.对困惑感到抱歉.

小智 10

MVC与n层架构没有或几乎没有联系.它属于UI层,用于处理与用户的交互.如何构建应用程序的其余部分是......让我们使用与您正交的单词使用MVC.

如果你拥有它,业务逻辑层就会停留.

如果你有数据访问层,它就会保留.

控制器不应该用于实现业务逻辑.它基本上是一个路由层来决定要调用的操作,重定向到哪个路由.一般建议是保持简洁,并根据路由数据和一些业务逻辑调用做出决定.

模型也不等于业务对象.模型是视图显示的一组数据,可能包含一些与业务实体无关的辅助数据.

您可以使用ORM并用它替换数据访问层.取决于ORM如何集成它.使用EF,您可以直接将实体用作业务对象.