我们的应用程序中有许多功能,可以非常具体地描述为模块。通常有某种设置对话框,然后当用户单击“确定”时,它会配置要运行的进程并运行该进程。有时它们会被更多地调用,用户将打开新对话框并在对话框上工作一段时间,做很多事情来改变底层数据库。
我通常最终得到几个标准类
ConfigPanel.cs
ConfigPanelData.cs
ProcessRunner.cs
ApiWrapper.cs (for calling the process from somewhere else)
如果我有一个更多的端到端模块,它可能是 WorkerPanel.cs WorkerData.cs SetupOptions.cs(运行之间持久化的面板状态) LIB / WhateverBackendStuffINeedToSupportModule ApiWrapper
现在每个文件夹都有文件夹:
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
您如何组织课程以及有哪些优点/缺点?
答案 0 :(得分:0)
刚刚放入是不好的设计 所有的一切都在一起 按功能分开而不是 班级类型?
没有一般规则,这取决于您的代码中的情况,个人偏好和更改模式。 不过我建议做以下事情: