wpf - MVVM 与 3 层应用程序中的 Web 服务交互

标签 wpf web-services architecture mvvm 3-tier

问题:

对于与 3 层应用程序中的 Web 服务交互的 UI 使用 MVVM 是否有意义?


详细信息:

  1. 应用程序的架构是 3 层的:

    Presentation Layer <--Web-Service-->| Business Layer | Data Access Layer

  2. 前端:.NET(WPF 和 C#)

  3. 后端:Java EE

对 UI 使用 MVVM 有意义吗?

  1. 模型如何抽象数据库,因为如果没有中间的网络服务,它就无法直接访问数据库?
  2. 如果实际上可以通过模型抽象数据库,那么这样做是否是一个好主意

其他注意事项:

不需要实时更新数据:

  • 数据库上的更新不需要立即反射(reflect)在用户界面上,反之亦然。

  • 这让我觉得我不需要这样的模型。 MVVM 适合我的情况吗?


编辑

链接:

如果您可以发布在 3 层应用程序中为 UI 使用 MVVM 的项目的链接,将会有所帮助。

最佳答案

MVVM中的Model不一定是由数据库提供的。

在这种情况下,我会考虑业务层发布的数据结构模型。

数据库中的数据结构应该针对存储和查询进行优化。业务层公开的数据结构应针对(所有)可能的客户端和带宽等考虑因素进行优化。

客户端中的数据结构应该针对呈现进行优化,这就是我们所说的 MVVM 中的 View 模型。

MVVM 非常合适,因为它允许您在业务层公开的数据结构和 UI 所需的数据结构之间进行转换。

关于wpf - MVVM 与 3 层应用程序中的 Web 服务交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10589438/

相关文章:

wpf - 使用 C# 在 WPF 中使 DataGrid 列标题可排序

c# - 使用 WriteableBitmap.AddDirtyRect() 时内存泄漏的解决方法

c# - 从另一个 WPF 应用程序加载 WPF 应用程序程序集,在同一 AppDomain 中获取错误 : Cannot create more than one System. Windows.Application 实例

javascript - ie/firefox/chrome中jquery调用跨域.net-method

api - 如何组织API?

c# - 数据刷新后如何保持当前排序的 ICollection?

java - Web服务,WSDL地址中的动态地址

c# - 在具有相同终结点名称的不同用户 session 中运行的 net pipe WCF 服务

macos - 确定流程的架构

ios - 清洁架构 - Robert Martin - 如何连接用例