Frage

Ich habe vor kurzem über die boost::statechart Bibliothek (Finite State Machines) gelesen und ich liebte das Konzept.

Hat C # einen ähnlichen Mechanismus? Oder kann es ein bestimmtes Entwurfsmuster implementiert werden, indem?

War es hilfreich?

Lösung

Ja, C # hat Iterator Blöcke die Compiler generierte Zustandsmaschinen.

Wenn Sie möchten Sie eigene Zustandsmaschine implementieren, können Sie benutzerdefinierte Implementierungen der IEnumerable<T> und IEnumerator<T> Schnittstellen erstellen.

markieren Beide Ansätze der Implementierung des .NET-Framework der Iterator Muster .

Andere Tipps

.NET 4 Update 1 unterstützt jetzt ist es in der folgenden Klasse: System.Activities.Statements.StateMachine

Hier ist eine Anleitung, wie man es benutzt . Hier ist ein Hände auf Labor .

Workflow Foundation (.NET 3.0) eine Zustandsmaschine Workflow hat. 4.0 nicht exakt die gleiche Sache zur Zeit, aber man kann auf jeden Fall eine Zustandsmaschine Workflow 4.0 erstellen.

Ich behaupte, ein Open-Source-Projekt, das Gerät (unter anderem) eine allgemeine Finite State Machine für .NET. Es ist gebaut auf der QuickGraph , so dass Sie viele Graph-Analyse-Algorithmen kostenlos.

Siehe diese Seite für weitere Informationen über das Projekt, und zwar " Jolt.Automata: Finite State Machines ". weitere Informationen über die Funktion

Schauen Sie sich Stateless -> http://code.google.com/p/stateless/. Es ist eine leichte Alternative zu der schwereren WWF.

Hier ist ein paar Artikel vom Autor des Werkzeugs:

State Machines in Domain Model

Parametrierter Trigger und Einspringende Staaten in Stateless

Die Dinge, die in der Nähe von FSMs kommen, sind Workflows in .NET 3.5, aber auch Workflows sind nicht gerade FSMs.

Die Macht FSMs zu verwenden, ist, dass Sie sie erstellen können explizit in Ihrem Code, mit weniger Wahrscheinlichkeit von Fehlern zu schaffen. Außerdem natürlich einige Systeme sind FSMs von Natur aus, so ist es natürlich, sie zu codieren, wie so.

Windows Workflow Foundation (WF), der Teil der Basisklassenbibliothek in 3.0 und 3.5 enthält ein Zustandsmaschine Workflow-Design ist auf Zustandsmaschinen für Ihre Anwendungen zu verwalten.

Sie haben komplett neu geschrieben Workflow für die kommende Version 4.0 und die neuen WF 4.0 Klassen nativ nicht state-Maschinen unterstützen, aber alle der 3.0 / 3.5-Klassen sind noch voll unter 4.0 nicht unterstützt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top