gpt4 book ai didi

c# - 将 ASP.NET MVC 模型封装为可重用程序集

转载 作者:太空宇宙 更新时间:2023-11-03 11:31:21 24 4
gpt4 key购买 nike

是否有公认/预期的最佳实践方法将 ASP.NET MVC 的“模型”部分封装到可重用程序集中?

作为一项技术练习,我想在不同系统中使用相同的业务/持久层。例如,将同一个程序集编译成 ASP.NET MVC 应用程序和传统的 Windows 服务。

我的想法是在单独的程序集中实现我的模型(和 EntityFramework/DbContext 等)。然后我的 MVC 项目将完全省略“模型”文件夹,而我的 Controller 将引用“模型程序集”中的代码。与实际业务对象相比,我一直更喜欢将 ViewModel 作为 View 的“目标”,因此我非常高兴能够将我所有的 View 强类型化为 ViewModel 对象而不是 Model 对象。

  1. 这是一种常见的方法吗?
  2. 它是否违反了 ASP.NET MVC 的“约定优于配置”原则?
  3. 如果采用这种方法,我是否会失去某些特定的 MVC 优势?
  4. 这种方法还有其他令人讨厌的陷阱吗?

我是 ASP.NET、C# 和 Windows 服务的老手,但对 ASP.NET MVC 还是个新手。如果这是一个重复的问题,我们深表歉意;大多数“可重用 MVC”问题都集中在 UI 组件上,而不是整个业务/持久性“层”。一如既往,提前感谢您的见解!

最佳答案

是的,这就是我见过的许多系统的开发方式。您最终会得到一个“业务层”,它可以与 REST-over-WCF-on-IIS 和其他任何东西一样好地工作。

不,您不会丢失我所知道的任何东西,尽管维护多个项目会稍微增加一些复杂性。

这样做的另一个好处是,您最终会得到更易于测试的 Controller 和模型层,因为您可以在它们之间使用依赖注入(inject)。

关于c# - 将 ASP.NET MVC 模型封装为可重用程序集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7665838/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com