spring-modulith
spring-modulith copied to clipboard
Improved Documentation in Fundamentals - The "Core" Module Concept
Torn between a Discussion and an Issue on this, but it would change the Documentation, which is in the codebase, so I went with an Issue. Similar Topic to this Discussion, however I hope I can provide a solid reason for Spring to provide more concrete references within the Documentation of this Project.
At Spring One (Highly Recommend attending 2024's or finding the Sessions), I talked with @odrotbohm and asked for an easy way to handle "Global" Configuration. This might be something like your Endpoint Security, Global Caching Mechanism, Message Broker, Etc. I believe we talked about using a configuration property, and moved along.
After spending multiple hours thinking about this. I was actually describing the purpose of a core/common Module. Which @Modulith already supports with sharedModules property. This realization came after several hours of pondering though, and when a framework is enforcing an Opinionate View, it should also help those coming from other views to adjust. Although an entire mental model shift is impossible to put into Documentation, I believe there is a strong value for Developers who are new to DDD to have something within the Project itself to reference on how they can transition their current Applications.
For that reason I think adding a "Core" Module Concept Section in the Fundamentals portion of the Documentation would be a high value. It would also be more documentation for understanding why/when to use sharedModules in @Modulithic.
Requested Change
- Include a Section on an Application's "Core" Module in Fundamentals.
Would be really nice Change
- Include an Example Repository of a Layer -> Modulith App transition.