Design
Design
Il design favorisce classi risolte dal container, run piccoli, persistenza opt-in e confini espliciti tra API pubblica e dettagli interni.
classDiagram
class FlowDefinitionBuilder
class FlowDefinition
class FlowEngine
class FlowStepHandler
class FlowCompensator
class FlowRun
class FlowStore
FlowDefinitionBuilder --> FlowDefinition : register
FlowEngine --> FlowDefinition : execute
FlowEngine --> FlowStepHandler : resolve
FlowEngine --> FlowCompensator : compensate
FlowEngine --> FlowRun : returns
FlowEngine --> FlowStore : optional persistence
Trade-off principale
Il motore sceglie semplicità operativa invece di una piattaforma workflow separata. Il vantaggio e che l’app resta Laravel-native; il costo e che non si ottiene la durabilita cross-service di un runtime dedicato.