Ich arbeite an einer etwas größeren C# -Anwendung und kämpfe darum, eine wartungsfreundliche Struktur dafür zu definieren.Hinweis für die Erstellung von Software
Ich bin mir bewusst, dass die Frage, die ich stellen möchte, breit und subjektiv ist, aber ich kann nicht finden, wonach ich suche. Alles, was ich finden kann, sind die üblichen Designmuster/Namenskonventionen/eher einfache Beispiele, die nichts mit der Realität zu tun haben.
Um noch eine etwas bestimmte Frage zu stellen, dachte ich an meine zwei Hauptprobleme. Ich habe eine Client-Server-Anwendung. Für die Client-Anwendung habe ich einige Schnittstellen definiert und eine Art Abhängigkeitsinjektion verwendet. Nun, für 2 Fragen:
Eine Klasse, die beim Start ausgeführt wird, sagt das ‚Programm‘ (nicht die Klasse „Programm“, aber es könnte genauso gut sein) ist ziemlich groß, nutzt alles und es tut alles sortieren Sie Dinge (schließen Sie Ereignisse an allen Klassen an, behandeln sie, weisen UI, Einstellungen, usw. an). Dies scheint nicht zu halten (in etwa 4 Wochen habe ich vergessen, was auch immer dort passiert). Ist es normal, 1 Klasse alles zusammen zu stringieren? (Gibt es tolle Beispiele dafür?)
Ich habe (unter anderem) Schnittstellen für die Serververbindung, Setupprovider und Uimanager. Die Implementierung der Serververbindung beruht jedoch auf einem Settingprovider für lokale Einstellungen, der Setupprovider stützt sich auf die Serververbindung für Servereinstellungen, die ui muss mit beiden kommunizieren (z. B. Anmelde-/Anmeldefenster und Einstellungen anzeigen) und so weiter. Grundsätzlich - sagen wir mal - hängt alles von allem ab. Ich benutze Schnittstellen, aber immer noch. Insbesondere beim abstrahieren von Teilen kann das ziemlich verwirrend sein: Nehmen wir an, ich möchte das Einstellungsfenster anzeigen, der uimanager fragt den Setupprovider, der wiederum die serverconnection benötigt, dann bricht die Verbindung ab und irgendwo entlang der Zeilen ergibt sich eine Ausnahme. Sollte der UImanager sich darüber im Klaren sein, dass es nicht möglich ist, den Setupprovider aufzurufen, wenn die Serververbindung unterbrochen ist ??? Sind diese 2 Probleme (alles hängt von allem ab und alle Klassen überwachen den jeweils anderen Zustand) vermeidbar?
Alle beraten/lesen Quellen sehr geschätzt.
Das ist ziemlich breit. Für Ihre erste Frage werfen Sie einen Blick auf "winforms Design Patterns" in Ihrer bevorzugten Web-Suchmaschine. Model-View-Presenter wird oft geprägt, ebenso wie "Smart Client" und "Model-View-ViewModel". – CodeCaster
Vielen Dank für Ihre Eingabe. Ich bin mir bewusst, dass das breit ist - ich sage es sogar in der zweiten Zeile. Ich hatte gehofft, dass die zwei spezifischen Fragen es ein wenig verengten. Nach dem negativen Ergebnis zu urteilen, habe ich versagt. Außerdem habe ich MVP/MVVM-Sachen gelesen, bevor ich diese Frage gestellt habe. Die Sache ist, dass ich nicht in der Lage bin, diese Prinzipien in die Praxis umzusetzen, wenn ich meine Anwendung entwerfe. Ich hoffe, ich bin nicht der Einzige, der sich mit diesen Fragen abmüht, denn das könnte bedeuten, dass ich mich nach einem anderen Job umsehen sollte :) – user1515791