Hoffentlich eine einfache Relativitätsfrage. Ich beginne mit der Arbeit an einem neuen internen Projekt, um die Rückverfolgbarkeit reparierter Geräte in den Gebäuden zu gewährleisten.
Die Datenbank wird remote auf einem Webserver gespeichert und über die Web-API (JSON-Ausgabe) aufgerufen und mit OAuth geschützt. Die Front-End-Benutzeroberfläche wird in WPF und der Geschäftscode in C # ausgeführt.
Daraus sehe ich die verschiedenen Ebenen Präsentation / Anwendung / Datenspeicher. Es gibt Code zum Verwalten aller authentifizierten Aufrufe an die API, eine Klasse zum Darstellen von Entitäten (Geschäftsobjekte), Klassen zum Erstellen der Entitäten (Geschäftsobjekte), Teile für die WPF-GUI, Teile der WPF-Ansichtsmodelle usw.
Ist es am besten, dies in einem einzelnen Projekt zu erstellen oder in einzelne Projekte aufzuteilen?
In meinem Herzen sage ich, dass es mehrere Projekte sein sollten. Ich habe es zuvor in beide Richtungen gemacht und festgestellt, dass das Testen mit einer einzelnen Projektlösung einfacher ist. Bei mehreren Projekten können jedoch rekursive Abhängigkeiten auftreten. Besonders wenn Klassen Schnittstellen haben, um das Testen zu vereinfachen, habe ich festgestellt, dass die Dinge unangenehm werden können.