[Context] Separate validate()
and execute()
handlers for better modularity and API coherence
#539
Labels
A: breaking
Admin: breaking change that may impact operators
O: decoupling
Objective: aims to separate concerns and cause to independent, reusable components
Milestone
Problem Statement
The
ValidationContext
andExecutionContext
traits now include default implementations for theirvalidate()
andexecute()
methods. However, these methods use functions that are only public to the crate. This makes it nearly impossible for someone to use a different implementation and renders keeping them as API meaningless.Moreover, looking at the operations they do, it does not make sense to keep these two (validate/execute) along with the others. They deal with the handler functionality and route an incoming message to the appropriate validation/execution handler, while others mainly interact with storage for retrieving or setting a state. It would be better to keep these two roles separate to achieve more modularity.
The text was updated successfully, but these errors were encountered: