c# - 在 WinForm 应用程序中将显示与业务逻辑分离

标签 c# .net winforms model-view-controller

我在 WinForms 应用程序中有一些 GUI 控件。例如,我有日志控制记录每个进度应用程序,因此我可以快速调试,目前所有“数据绑定(bind)”都在 MainForm 上。我可以创建单独的控件,但它仍然与应用程序逻辑结合得太多。

我得到了使用部分 MVC 模式的建议,在该模式中我将更新一些保存日志项的对象,日志控制将到达该对象并加载数据以进行控制。 我不知道如何实现它,除了创建一个类来保存我需要加载的数据。

我对线程有疑问,因为应用程序中的许多进程在不同的线程中运行。

您知道用 C# 完成的任何示例吗?

最佳答案

我阅读了 Moose 先生链接到的线程,但最终让我继续前进的是:http://www.c-sharpcorner.com/UploadFile/rmcochran/implementing-the-passive-view-a-derivative-of-the%C2%A0model-view-control/是这个家伙就这个问题写的系列文章的一部分。我目前正在使用这个方案并且对它很满意。

我在一些模型类中添加了一个 ObservableDictionary。基于键的查找适用于很多情况。

他有一系列不同实现的文章,可能更适合你。

关于c# - 在 WinForm 应用程序中将显示与业务逻辑分离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8163542/

相关文章:

c# - 通过透明的 Windows 窗体防止鼠标点击

c# - 在menuStrip中只选择一个复选框

.net - 为什么没有Dictionary.TrimExcess()?

.net - 如何构建/部署需要同一程序集的多个版本的项目?

c# - 将代码注入(inject)所有没有自定义属性的方法和属性的最简单方法

c# - 像 Windows 资源管理器菜单栏一样自动隐藏 MenuStrip

c# - 将 LINQ 查询作为字符串发送到 Entity Framework

c# - 无法启用约束。使用数据表适配器时

c# - 具有多个可选参数的 asp.net mvc 路由不起作用

c# - 如何在 Application Insights 中通过 RabbitMQ 显示端到端事务?