我们的应用程序中有许多特性,可以作为一个模块非常具体地描述。通常有某种类型的设置对话框,然后当用户单击OK时,它会将进程配置为运行并运行该进程。有时它们会被更多地调用,用户会打开新的对话框并在对话框上工作一段时间,做许多事情来更改基础数据库。
我通常以几个标准课程结束
ConfigPanel.cs
ConfigPanelData.cs
ProcessRunner.cs
ApiWrapper.cs (for calling the process from somewhere else)
如果我有一个更端到端的模块,它可能是
工作面板
WorkDATA.CS
SETUPOPTIONS.cs(运行之间面板状态保持不变)
lib/whateverbackendstufactinedtosupportmodule
APIWRAPER
现在每个文件夹都有:
UI/Panels/
Module1Panel.cs
Module2Panel.cs
UI/PanelData/
Module1PanelData.cs
Module2PanelData.cs
UI/PanelManagers
Module1PanelManager.cs
Module2PanelManager.cs
Core/Module1/
Module1.cs
Module1Helpers.cs
Core/Module2/
Module2.cs
Module2Helpers.cs
正如你所看到的,一切都是真的分散开的。有了50多个模块,这些文件夹就没有真正的组织。即使将它们按子系统分解,它们仍然是一团乱麻。把所有的东西都放在一起,这样所有的东西都由函数而不是类类型分开,这会是一个糟糕的设计吗?
Module1/
Module1Panel.cs
Module1PanelData.cs
Module1PanelManager.cs
Module1PanelLib.cs
Module1PanelWrapper.cs
Module2/
Module2Panel.cs
Module2PanelData.cs
Module2PanelManager.cs
Module2PanelLib.cs
Module2PanelWrapper.cs
你如何组织你的课程,有哪些优点/缺点?