You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Spring Modulith includes some useful features which impose relatively easy-to-meet constraints on your code (e.g. external API vs hidden internals). However, it also imposes a "no cyclic dependencies" constraint which places a strong (indeed, absolute) and not-so-easy to meet constraint on the structure of your app and how your modules interact. This certainly seems to be a core intention of the Spring Modulith project: cf. @odrotbohm's comment that "a directed acyclic graph between modules is key to an evolvable architecture".
I'd like to understand this approach better, so I wonder if anyone has any pointers to discussions about why directed acyclic graphs are good for dependencies, what the tradeoffs might be, and how to resolve common difficulties in achieving it. Also happy to hear people's thoughts and experiences. (To be clear, I'm not here to contest this approach but to learn more about the motivation for it.)
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Spring Modulith includes some useful features which impose relatively easy-to-meet constraints on your code (e.g. external API vs hidden internals). However, it also imposes a "no cyclic dependencies" constraint which places a strong (indeed, absolute) and not-so-easy to meet constraint on the structure of your app and how your modules interact. This certainly seems to be a core intention of the Spring Modulith project: cf. @odrotbohm's comment that "a directed acyclic graph between modules is key to an evolvable architecture".
I'd like to understand this approach better, so I wonder if anyone has any pointers to discussions about why directed acyclic graphs are good for dependencies, what the tradeoffs might be, and how to resolve common difficulties in achieving it. Also happy to hear people's thoughts and experiences. (To be clear, I'm not here to contest this approach but to learn more about the motivation for it.)
Beta Was this translation helpful? Give feedback.
All reactions