Ich arbeite an einer großen modularen Monolith -Spring -Boot -Anwendung (JAVA), die in mehrere Gradle -Build -Module aufgebaut ist. Jedes Modul repräsentiert eine bestimmte Domäne (z. B. Benutzerverwaltung, Benachrichtigungsbehandlung) und enthält eine eigene interne Geschäftslogik, die idealerweise von anderen Domänen privat und unzugänglich bleibt. Mit Gradle-Plugins habe ich Regeln definiert, sodass nur API-Submodule von anderen Modulen als Abhängigkeiten verwendet werden können. Dieser Ansatz funktioniert im Allgemeinen, aber er enthält zwei signifikante Nachteile:
erhöhtes Modulzahl : Jede Domäne hat jetzt zwei Module (API und Impl), was im Wesentlichen die Anzahl der Gradle -Module verdoppelt und die Projektkomplexität erhöht. Abhängig von Moduleb: API und Moduleb: Impl je nach Modulea: API. Diese Zyklen sind schwer zu erkennen und können problemlos Code -Bewertungen durchführen. Quermodulzugriff auf den internen Implementierungscode. Beispielsweise könnte Modulea erklären, dass es nur auf das API -Paket von Moduleb zugreifen darf. Dies wirft jedoch einige Bedenken auf: < /p>
Jedes Modul müsste explizit definieren, was es erkennen darf, was fehleranfällig sein könnte, wenn ein Entwickler vergisst, die entsprechende Regel hinzuzufügen. Tools, Best Practices oder Gradle-Konfigurationen, die dazu beitragen können, strenge Modulgrenzen und -Capsulation in einem Multi-Modul-Java-Projekt durchzusetzen?
So einschränken ⇐ Java
-
- Similar Topics
- Replies
- Views
- Last post
-
-
So einschränken Sie den Tkcalendar, um nur bestimmte Wochentage auszuwählen
by Anonymous » » in Python - 0 Replies
- 3 Views
-
Last post by Anonymous
-