C# · 12月 31, 2021

c# – MVC是否替代传统的手动创建的BLL?

我习惯于手工创建用户界面,BLL,DAL(有些时候我已经使用了LINQ to sql或SubSonic for DAL).自从发布MVC之后,我已经做了几个小项目.

在这些项目上,我仍然继续用BLL和DAL编写,然后将它们并入到MVC的模型/控制器中.我正在寻求优化我的项目时间,这似乎是过度的杀伤力和潜在的浪费时间.

滚动DAL如SubSonic是否可以接受,并直接在我的MVC Web应用程序的Models / Controllers中使用它?现在型号&控制器将作为BLL.我只是认为这是一个主要的时间,不用担心另一个层次.

更新:

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

解决方法 MVC与n层架构没有任何连接.它属于UI层,用于处理与用户的交互.你如何构造你的应用程序的其余部分是…让我们使用与你正确的词使用MVC.

业务逻辑层保留,如果你有它.

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

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

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

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