这是我多次遇到的代码管理问题。假设我有一个 winforms 应用程序,并且有很多内容 - 数百个控件的内容,其中大多数都有附加的事件处理程序和方法。当寻找有关如何分离如此大的文件的建议时,想到的两个大文件是区域和部分类。然而,这些都被几乎所有的热门答案所谴责。
所以我想知道,分离出这样的东西的最佳实践是什么?将它们分成新的类是没有意义的,因为它们只是控制事件处理程序。区域很好,但由于代码太多,仍然会变得非常困惑。我有点不知所措,我不知道如何在这里应用 SRP,而且我看到的任何建议似乎都被认为是不好的做法。
最佳答案
“正确”的方法是将表单拆分为用户控件。
部分类旨在将生成的代码与用户代码分开,区域只是布局(在我看来毫无用处,但这只是一个意见)
在用户控件中拆分窗口可以促进正确的封装和重用。
根据项目的不同,清理它可能会太昂贵,但是分成几个简单的可能会提高可读性,并且可能会在调试时节省一些时间。此外,在添加新的控件和逻辑时,请考虑添加用户控件并开始以这种方式进行拆分的过程。然后,费用将分摊到较长的一段时间内,并且只会为您实际使用且需要可读的部分支付。
关于c# - 分离数百个事件处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37792714/