首页 > 解决方案 > 在使用 MVVM 的 WPF 中,谁负责管理外部通信?

问题描述

我需要使用 MVVM 创建一个 WPF 应用程序,它将有一个蓝牙连接管理器和一个自定义硬件管理器。

我应该把这些经理放在哪里?

在视图模型中?在模型中?在视图、视图模型和模型之外?

谢谢

标签: c#wpfmvvm

解决方案


项目之外。


把关心分开。

使用 ICommunication & Communication 类创建一个新的通信项目。

如果你想更进一步——你可以实现一个通信服务器项目来处理所有的通信。您还需要通信客户端 - 这是您将从 MVVM-WPF 项目中引用的项目

为什么?1. 有一天你会添加其他的沟通方式——添加另一个沟通项目会更容易、更干净。2. 有一天你会更新你的通讯 - 只需更改 DLL 就很容易了。

已编辑:关于 MVVM 项目:* 视图模型根本没有逻辑 * 将依赖项从通信项目注入模型并注册到传入信息


推荐阅读