c# - 分离数百个事件处理程序

标签 c#

这是我多次遇到的代码管理问题。假设我有一个 winforms 应用程序,并且有很多内容 - 数百个控件的内容,其中大多数都有附加的事件处理程序和方法。当寻找有关如何分离如此大的文件的建议时,想到的两个大文件是区域和部分类。然而,这些都被几乎所有的热门答案所谴责。

所以我想知道,分离出这样的东西的最佳实践是什么?将它们分成新的类是没有意义的,因为它们只是控制事件处理程序。区域很好,但由于代码太多,仍然会变得非常困惑。我有点不知所措,我不知道如何在这里应用 SRP,而且我看到的任何建议似乎都被认为是不好的做法。

最佳答案

“正确”的方法是将表单拆分为用户控件。

部分类旨在将生成的代码与用户代码分开,区域只是布局(在我看来毫无用处,但这只是一个意见)

在用户控件中拆分窗口可以促进正确的封装和重用。

根据项目的不同,清理它可能会太昂贵,但是分成几个简单的可能会提高可读性,并且可能会在调试时节省一些时间。此外,在添加新的控件和逻辑时,请考虑添加用户控件并开始以这种方式进行拆分的过程。然后,费用将分摊到较长的一段时间内,并且只会为您实际使用且需要可读的部分支付。

关于c# - 分离数百个事件处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37792714/

相关文章:

c# - 两个日期之间存在意外的天数

c# - c++/c# 类中的纯方法

c# - 记录到 Azure 表存储时的跟踪选项

c# - Xamarin 蓝牙扫描

c# - 使用 BasicHttpBinding 为远程客户端发布 Wcf 服务

c# - 奇怪的 Visual Studio 2012 异常 : Unable to use Text Editor

c# - 将 Label 保持在 TabControl .NET 之上

c# - 如何将控制台屏幕记录到文本文件中?

c# - 绘图应用程序使用哪种设计模式

c# - 有没有办法截取用户 Windows 桌面的屏幕截图?