到目前为止,我一直用来自学编码的 c# 项目是一种包含大量函数和大量“全局”静态变量的巨大形式。
在阅读了这里,做了一些教程等之后,我现在正试图完成重构它以正确使用类和封装的过程。
我的课程:
Program.cs
- 基本上除了初始化什么都不做Form1
。Form1.cs
= 生成和修改所有 UI。调用其他类中的公共函数,并有一些其他类可以调用来更新它的公共函数。UiStrings.cs
= 包含所有错误消息、对话框、说明等。Options.cs
= 跟踪一些设置,构建和更新安装文件的路径,根据更改的 UI 执行代码。Updater.cs
= 跟踪当前版本,下载资产,将它们放在正确的位置,并调整选项。Installer.cs
= 根据当前选项处理安装/卸载/备份所有资产。
最初,我在Form1
. 这有助于Form1
能够访问UiStrings
or中的函数和属性Options
。然而,这些类无法访问彼此的某些部分,大概是因为它们没有被实例化。
这导致我的目标是将我所有的自定义类都设为UiStrings
静态类Options
(因为我不需要它们的多个实例)。这也意味着我必须将每个类中的每个函数和属性都设为静态。
对于真正知道自己在做什么的人来说,这是一个合理的解决方案吗?
到目前为止,它似乎在我的测试中有效,但我最初没有任何课程的尝试也工作得很好,直到我知道它有多么错误。