From 8c8b32d59acc78c7c3e1e8ecae8492a1b728b482 Mon Sep 17 00:00:00 2001 From: Marcos Magueta Date: Mon, 1 Dec 2025 18:34:31 -0300 Subject: Diagrams (#18) --- docs/constraint-enforcement-strategies.puml | 42 +++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 docs/constraint-enforcement-strategies.puml (limited to 'docs/constraint-enforcement-strategies.puml') diff --git a/docs/constraint-enforcement-strategies.puml b/docs/constraint-enforcement-strategies.puml new file mode 100644 index 0000000..6e0305d --- /dev/null +++ b/docs/constraint-enforcement-strategies.puml @@ -0,0 +1,42 @@ +@startuml constraint-enforcement-strategies +!theme plain +title Constraint Enforcement Strategies + +state "Operation Request" as Request +state "Immediate Validation" as Immediate +state "Deferred Validation" as Deferred +state "Execute Operation" as Execute +state "Transaction Commit" as Commit +state "Rollback" as Rollback +state "Success" as Success + +Request --> Immediate: Strategy 1:\nEager +Request --> Execute: Strategy 2:\nDeferred + +Immediate --> Execute: Valid +Immediate --> Rollback: Invalid + +Execute --> Deferred: At commit +Deferred --> Commit: Valid +Deferred --> Rollback: Invalid + +Commit --> Success +Rollback --> Request: Retry + +note right of Immediate + Immediate Checking: + - Validate before execute + - Simple reasoning + - May reject valid intermediate states + - Lower performance +end note + +note right of Deferred + Deferred Checking: + - Validate at transaction end + - Allows intermediate invalid states + - Better performance + - Complex error handling +end note + +@enduml -- cgit v1.2.3