业务逻辑层是否处理 MVC 中的视图模型? [英] Does the Business Logic Layer handle View Models in MVC?

查看:17
本文介绍了业务逻辑层是否处理 MVC 中的视图模型?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个包含 4 个项目的应用程序

I have an application with 4 projects

  • 演示

BLL

模型

DA

BLL 是否应该在表示层之间传递和检索视图模型.(并处理所有映射)

Should the BLL be passing and retrieving View Models to and from the Presentation Layer. (And handle all mapping)

或者更确切地说,它应该只处理领域模型并让表示层(控制器)处理所有映射.

Or rather should it only deal with Domain Models and let the Presentation Layer (Controller) handle all mappings.

谢谢

推荐答案

您的开发方法没有绝对的.在任何情况下,您都可以选择适合您的方式.但是,在选择方法时,您应该考虑未来维护和扩展的可能性.根据您提供的详细信息,我认为您应该考虑一些问题:

There is nothing absolute about your development approach. you could choose what suits you in any case. But you should consider your future maintenance and extension possibilities when you choose you approach. Based on details you provided, I think you should consider some issues:

  • 用户输入验证:用户输入验证不是您 BLL 的一部分.因此,如果您将演示文稿连接到 BLL,您会将两者混合在一起,并且很难管理您的代码或关注点分离"
  • 在 mvc 情况下,您总是使用数据注释进行演示.将 BLL 用于 VM 可能会使它们难以使用.
  • 在表示层,您需要 CSS 和 Jquery 等工具.将它们与 BLL 一起使用,可能会使您的代码非常混乱且难以稍后维护.
  • 对于您的演示文稿的任何微小更改,您都需要更改您的 BLL,这违反了所有原则!
  • 如果您将 BLL 与演示混在一起,则很难为客户提供 WebApi 之类的服务.
  • 从视图中访问 BLL,让黑客的生活更轻松!

还有更多!.

这篇关于业务逻辑层是否处理 MVC 中的视图模型?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆