Zdefiniuj granice modułów i reguły kierunku zależności (np. moduły funkcjonalne mogą zależeć od shared kernel, ale nie od siebie nawzajem). Wymuszaj to buildem (osobne moduły Gradle/Maven), testami architektury oraz wystawianiem stabilnych interfejsów/fasad zamiast sięgania do „wnętrzności”.
Rozwinięcie krótkiej odpowiedzi — co zwykle ma znaczenie w praktyce:
Krótki przykład (szablon do wyjaśniania):
// Example: discuss trade-offs for "jak-zapobiegać-cyklicznym-zależnościom-między-mo"
function explain() {
// Start from the core idea:
// Zdefiniuj granice modułów i reguły kierunku zależności (np. moduły funkcjonalne mogą zależ
}