So einschränkenJava

Java-Forum
Anonymous
 So einschränken

Post by Anonymous »

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?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post