Sto cercando una macchina di stato valida e universale e finora ho trovato SCXML. È davvero semplice da usare (intendo la configurazione), ma il codice sorgente è arcaico - non esiste un tipo di sicurezza e tutte le raccolte sono di tipo grezzo. Non devo dire quanto sia difficile trovare ciò che è effettivamente memorizzato in quelle collezioni. Quindi c'è qualche alternativa moderna?Esiste un'alternativa ad Apache Commons SCXML?
risposta
in Java, Apache Commons SCXML può essere il best.But è possibile cercare qualcosa su scxml4flex, http://code.google.com/p/scxml4flex/
Poiché la domanda è stata specificatamente taggata 'Java',' scxml4flex' risponde veramente alla domanda? –
Non funziona. Immagino che Apache Commons SCXML sia il migliore per il mio scopo ma sembra che gli sviluppatori non intendano rifattorizzare il codice e scrivere una documentazione migliore poiché non l'hanno ancora fatto. – user219882
ho usato due prodotti macchina statale, dove mi definisco un prodotto come qualcosa che ha effettivamente crea porzioni di un programma operativo.
1) QP (a http://www.state-machine.com/). L'ho usato nel 2006 in un prodotto di comunicazione Windows C++ . Ha funzionato molto bene, ma ha un numero limitato di piattaforme target . Nel complesso questo è stato il miglior prodotto, ma può costare in base allo su come lo si utilizza.
2) Compilatore di stato (al numero http://smc.sourceforge.net/). Sto usando questo oggi in un prodotto iOS (http://dr.edgemoor.com) scritto in Objective-C. Mi sono imbattuto nella domanda durante la ricerca di alternative a SMC. Non ne ho trovato nessuno.
SMC è meno ben documentato, ma anche di portata più semplice. E la grande forza è che genera codice per un numero di lingue, più di ogni altra soluzione che ho trovato.
Grazie per la risposta, ma ho bisogno solo di librerie Java pure. Significa che il motore della macchina di stato deve essere scritto in Java e dovrebbe essere configurabile in file XML. – user219882
I BPMN come jBPM o Activiti sono eccessivi? –
Sì. Ho provato jBPM ed è enorme. Ho bisogno di una semplice macchina a stati - proprio come SCXML, ma migliore (come ho detto sopra). Una buona documentazione sarebbe anche utile, dal momento che SCXML non ne ha praticamente nessuna. – user219882
Hai visto http://www.manageability.org/blog/stuff/open-source-statemachine-for-user-interfaces-written-in-java? Puoi anche stampare il tuo, usando lo State Design Pattern. In combinazione con l'enumerazione, questo può essere codificato in modo abbastanza tondo, come http://weblogs.java.net/blog/ryano/archive/2005/01/implementing_th.html – greyfairer