Ho il seguente diagramma di stato che può essere visto in Webgraphviz :
digraph reload_states {
rankdir=LR;
size="8,5"
node [shape = doublecircle]; Requested;
node [shape = circle];
Requested -> Requested [ label = "Reschedule" ];
Requested -> Approved [ label = "Approve" ];
Requested -> Canceled [ label = "Cancel" ];
Approved -> Standardized [ label = "Standardize" ];
Approved -> Canceled [ label = "Cancel" ];
Standardized -> Queued [ label = "Queue" ];
Standardized -> Canceled [ label = "Cancel" ];
Queued -> Running [ label = "Run" ];
Running -> Succeeded [ label = "Succeed" ];
Running -> Failed [ label = "Fail" ];
Succeeded -> Completed [ label = "Complete" ];
Succeeded -> Canceled [ label = "Cancel" ];
Failed -> Queued [ label = "Queue" ];
Failed -> Canceled [ label = "Cancel" ];
}
Questasembraesseredimediacomplessitàenonpossodecideretraduepossibiliimplementazioni:
- Memorizzalostatocorrentecomeenumehailmetodoperognitransizionenell'entità
- Implementaloschemadistatoeincapsulaognistatoelasua'logicainunoggettoseparatocherappresentalostatoconcreto
Nonhomaiimplementatoloschemadistatoesonopiuttostocuriosodifarlo,mavogliochequalcunoconpiùesperienzapermisuraresenonèuneccessoperilmiocasod'uso?
Stavoleggendo