Gibt es Richtlinien für die Entscheidung, wann sich eine Klasse in einer eigenen Assembly / DLL befinden soll? Ich sehe oft zwei Denkschulen:
1) Jede "Gruppierung" von Klassen gehört zu einer eigenen DLL, z. B. Repositorys, Services, DTOs, Infrastruktur usw.
2) Alles sollte sich in einer einzigen DLL befinden, aber über Namespaces / Ordner getrennt sein, z. B. eine "Core" -DLL mit zusätzlichen Namespaces, z. B. Core.Repositories, Core.Services, Core.DTO usw.
Bei der Arbeit fassen wir einfach alles in einer einzigen Versammlung namens "Business" zusammen. Es gibt einige Ordner, aber keine wirkliche Trennung - Geschäftsobjekte (mit Logik, von denen einige nicht einmal Klassen sein sollten) werden in einem "BusinessObjects" -Ordner ohne Sorgfalt zusammengefasst. Dinge, die in mehr als einer Klasse verwendet werden, befinden sich in einem "Core" -Ordner. Dienstprogramme befinden sich in einem Ordner "Dienstprogramme", die Datenzugriffsinfrastruktur ist ein Ordner "Daten" - Sie haben die Idee.
Für ein neues Modul, an dem ich arbeite, möchte / muss ich eine separate Datenzugriffsebene haben (denken Sie an eine rudimentäre Repository-Implementierung), aber ich möchte es nicht einfach mit den anderen 160 (!) In den Ordner "BusinessObjects" werfen. Klassen dort. Gleichzeitig mache ich mir Sorgen um die Erstellung einer neuen Klassenbibliothek, da jeder daran gewöhnt ist, eine Klasse in der einzelnen Bibliothek zu stopfen. Ein Ordner / Namespace könnte jedoch funktionieren.