c# 中的解决方案架构,其中 winforms 和 asp.mvc 共享业务逻辑和数据访问 [关闭]

Posted

技术标签:

【中文标题】c# 中的解决方案架构,其中 winforms 和 asp.mvc 共享业务逻辑和数据访问 [关闭]【英文标题】:solution architecture in c# where winforms and asp.mvc share business logic and Data access [closed] 【发布时间】:2016-07-24 22:40:07 【问题描述】:

我有一个 c# winforms 解决方案,其中包括以下项目:-

    UI 层 BLL 数据模型 DAL

现在,我想在上述解决方案中为使用 MVC 模式的同一应用程序创建一个 asp.mvc UI。 当我搜索 mvc 解决方案架构时,我发现大多数情况下,模型、视图和控制器是在同一个项目中创建的。但是,由于我已经拥有为我的 winforms 应用程序开发的 DAL 和 BLL 模型,我该如何设计解决方案架构,以便我可以利用我现有的 BLL、DataModel 和 DAL 层。

或者,将 mvc 项目作为单独的解决方案进行是否更好? 在那种情况下,我必须分别维护我的 BLL 和 DAL。

请就此提出建议。 谢谢 吉姆

【问题讨论】:

【参考方案1】:

当我搜索 mvc 解决方案架构时,我发现的主要是模型、视图 和控制器是在同一个项目中创建的。但是,因为我已经有了 模型为 DAL,

你没有。您拥有的是数据模型。您在 MVC 中谈论的模型是 VIEWmodel 并且是 PAGE SPECIFIC。 IE。它包含 Razor 代码在不与业务层进行任何进一步交互的情况下呈现视图所需的数据。这与 BLL 背后的数据模型不同。

整个 MVC 项目替换了 UI 层。控制器调用您的 BLL 与业务逻辑进行交互,然后将数据放入 ViewModel,然后由页面代码呈现。

【讨论】:

非常感谢。您认为在同一个解决方案中同时维护 winforms 和 mvc 代码更好吗? 取决于您的项目的组织方式。我的交易平台在一个解决方案中可能有 30 到 30 个项目,其中有 2 个 MVC 门户。在这种情况下,将它们保留在一个解决方案中是完全有意义的。

以上是关于c# 中的解决方案架构,其中 winforms 和 asp.mvc 共享业务逻辑和数据访问 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Winform开发中的困境及解决方案

C# Winforms 中的 UI 渲染缓慢

在我的 C# 解决方案中,解耦架构中的接口存储在哪里?

C# winform 关于datagrideview问题

使用 SQLite 和 WinForms 2.0 C# 的编码问题

c# winform中的字体问题?