I just released version v2.0 of the requirements as code library.
Using it, you can create a single behavior that receives messages from the calling code. The behavior then dispatches the messages to an appropriate message handler. Which handler is appropriate is defined in a behavior model.
In the following example, a user sends a request with the user name (“Joe”). The system greets the user with “Hello, Joe.”
Since the behavior is the central point of control for all functions, you can inject and configure the dependencies of all functions through it. That makes it easy to implement a hexagonal architecture or clean architecture.
The following example shows how to implement a clean architecure with requirements as code, in principle:
I think about writing an article about a new, modern approach to clean architecture soon. My goal is to further simplify the development of a service with a clean architecture in a Spring environment.
Are you interested? Tell me what you think in the comments.