Nous avons une tonne de fonctionnalités dans notre application qui peuvent être décrites très concrètement comme un module. Ils ont généralement une sorte de boîte de dialogue d'installation, puis lorsque l'utilisateur clique sur OK, il configure un processus à exécuter et exécute ce processus. Parfois, ils sont plus impliqués et l'utilisateur va ouvrir la nouvelle boîte de dialogue et travailler sur la boîte de dialogue pendant un certain temps, faisant beaucoup de choses qui apportent des modifications à la base de données sous-jacente.Comment organisez-vous des cours sur un grand projet?
je finis généralement avec plusieurs classes standard
ConfigPanel.cs
ConfigPanelData.cs
ProcessRunner.cs
ApiWrapper.cs (for calling the process from somewhere else)
Si j'avais un plus bout en bout module, il est peut-être WorkerPanel.cs WorkerData.cs SetupOptions.cs (état du panneau a persisté entre les courses) Lib/WhateverBackendStuffINeedToSupportModule ApiWrapper
En ce moment, il y a des dossiers pour chacun:
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
Comme vous pouvez le voir, tout est vraiment étalé. Avec plus de 50 modules, ces dossiers ne sont pas vraiment organisés. Même en les cassant par sous-système, ils sont encore en désordre. Serait-ce une mauvaise conception que de tout mettre ensemble pour que tout soit séparé par fonction plutôt que par type de classe?
Module1/
Module1Panel.cs
Module1PanelData.cs
Module1PanelManager.cs
Module1PanelLib.cs
Module1PanelWrapper.cs
Module2/
Module2Panel.cs
Module2PanelData.cs
Module2PanelManager.cs
Module2PanelLib.cs
Module2PanelWrapper.cs
Comment organisez-vous vos cours et quels sont les avantages/inconvénients?