Wir haben eine Menge Funktionen in unserer Anwendung, die sehr konkret als Modul beschrieben werden können. In der Regel gibt es eine Art Setupdialog, und wenn der Benutzer auf OK klickt, konfiguriert er einen Prozess zur Ausführung und führt diesen Prozess aus. Manchmal sind sie stärker beansprucht und der Benutzer wird den neuen Dialog öffnen und eine Weile an dem Dialog arbeiten und viele Dinge tun, die Änderungen an der zugrunde liegenden Datenbank vornehmen.Wie organisieren Sie Klassen in einem großen Projekt?
ich in der Regel mit mehreren Standardklassen am Ende
ConfigPanel.cs
ConfigPanelData.cs
ProcessRunner.cs
ApiWrapper.cs (for calling the process from somewhere else)
Wenn ich ein Ende hatte Modul beenden es WorkerPanel.cs WorkerData.cs SetupOptions.cs sein könnte (Panel Zustand verharrte zwischen den Läufen) Lib/WhateverBackendStuffINeedToSupportModule ApiWrapper
Im Moment gibt es Ordner für jeden:
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
Wie Sie sehen können, ist alles wirklich verteilt. Mit mehr als 50 Modulen sind diese Ordner nicht wirklich organisiert. Selbst wenn sie vom Subsystem getrennt werden, sind sie immer noch ein Durcheinander. Wäre es schlechtes Design, alles einfach zusammen zu stellen, so dass alles nach Funktion und nicht nach Klassenart getrennt ist?
Module1/
Module1Panel.cs
Module1PanelData.cs
Module1PanelManager.cs
Module1PanelLib.cs
Module1PanelWrapper.cs
Module2/
Module2Panel.cs
Module2PanelData.cs
Module2PanelManager.cs
Module2PanelLib.cs
Module2PanelWrapper.cs
Wie organisieren Sie Ihre Klassen und was sind die Vor-/Nachteile?