awesome-repositories.com
Blog
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
dotnet-state-machine avatar

dotnet-state-machine/stateless

0
View on GitHub↗
6,191 Stars·806 Forks·C#·5 Aufrufe

Stateless

Stateless ist eine .NET-State-Machine-Bibliothek zur Verwaltung komplexer Objektverhalten und leichtgewichtiger Workflows via C#. Sie fungiert als asynchrone Workflow-Engine, die Zustandsübergänge, Guards und Entry-Exit-Aktionen mittels asynchroner Tasks ausführt.

Die Bibliothek implementiert eine hierarchische State Machine, die es Child-States ermöglicht, Übergänge und Eigenschaften von Parent-Superstates zu erben. Sie enthält ein State-Persistence-Framework, das die Zustandsverfolgung von der Maschinenlogik entkoppelt, indem der aktuelle Zustand in externe Eigenschaften oder Datenbanken gelesen und geschrieben wird. Zudem bietet sie einen Graph-Visualisierungs-Exporter, der DOT- oder Mermaid-Formate generiert, um Workflow-Konfigurationen als visuelle Diagramme darzustellen.

Das System deckt Transition-Mapping mit Unterstützung für reentrante und interne Übergänge, Prädikat-basierte Guard-Clauses und parametrisches Trigger-Dispatching ab. Es bietet zudem Funktionen für die Introspektion der Maschinenkonfiguration, Benachrichtigungen bei Zustandsänderungen sowie die Ausführung synchroner oder asynchroner Logik bei Zustands-Entries und -Exits.

Features

  • Application State Machines - Implements a .NET state machine library for managing behavioral transitions and lifecycles of application-level objects.
  • Architectural State Machines - Provides a .NET state machine library for managing transitions between complex object states within an application architecture.
  • Application State Management - Manages complex object behaviors and application logic through defined states and transitions to eliminate nested conditionals.
  • External State Stores - Provides an external state store mechanism to decouple state tracking from machine logic via getter and setter delegates.
  • State Transition Handlers - Executes synchronous or asynchronous logic during state changes with access to trigger and source state details.
  • State Lifecycle Actions - Automatically runs specific setup and cleanup logic when a state is entered or exited.
  • Asynchronous State Transition Orchestration - Orchestrates state transitions and guard conditions using asynchronous tasks to ensure application responsiveness.
  • Hierarchical State Composition - Supports hierarchical state organization where child states inherit transitions and behaviors from superstates.
  • Asynchronous State Transitions - Executes state transitions, entry, and exit handlers asynchronously to prevent thread blocking.
  • Transition Guard Predicates - Evaluates boolean predicate functions at runtime to determine the destination state when multiple transitions exist.
  • Transition Guards - Evaluates conditional logic via predicate functions to resolve destination states for triggers.
  • Hierarchical State Machines - Implements hierarchical state machines that organize workflows into parent and child states with behavioral inheritance.
  • State Persistence Frameworks - Provides a framework for reading and writing the current state to external properties or databases to maintain continuity.
  • State Transition Mapping - Maps trigger events to source and destination states to define the system's logical flow.
  • State Graph Export - Exports internal state machine configurations into visual graph formats like DOT and Mermaid.
  • State Machine Visualizations - Generates DOT and Mermaid graph definitions to visualize state machine configurations as diagrams.
  • Parametric Transitions - Enables sending data along with a trigger to influence the behavior of state transitions or resulting actions.
  • Parametric Trigger Dispatch - Allows passing strongly typed data through triggers to dynamically resolve the next state or influence transition logic.
  • Fluent Configuration APIs - Offers a fluent-API configuration for defining state transitions and behaviors using method-chaining.
  • Internal Transitions - Processes triggers that execute logic without altering the current state of the machine.
  • State Change Observers - Provides mechanisms to trigger callbacks and synchronize application logic when state transitions occur.
  • Delegate-Based Action Execution - Implements state entry, exit, and transition actions by invoking registered C# delegates and asynchronous tasks.
  • State Transition Validation - Verifies if a trigger can be fired and provides details on unmet guard conditions.
  • Workflow Visualizations - Generates visual representations of business logic and state flows using DOT and Mermaid diagram formats.
  • Scheduling and Automation - State machine creation library.
  • Architecture Patterns - State machine implementation for managing application logic.
  • State Machines - Library for creating state machines in code.

Star-Verlauf

Star-Verlauf für dotnet-state-machine/statelessStar-Verlauf für dotnet-state-machine/stateless

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Häufig gestellte Fragen

Was macht dotnet-state-machine/stateless?

Stateless ist eine .NET-State-Machine-Bibliothek zur Verwaltung komplexer Objektverhalten und leichtgewichtiger Workflows via C#. Sie fungiert als asynchrone Workflow-Engine, die Zustandsübergänge, Guards und Entry-Exit-Aktionen mittels asynchroner Tasks ausführt.

Was sind die Hauptfunktionen von dotnet-state-machine/stateless?

Die Hauptfunktionen von dotnet-state-machine/stateless sind: Application State Machines, Architectural State Machines, Application State Management, External State Stores, State Transition Handlers, State Lifecycle Actions, Asynchronous State Transition Orchestration, Hierarchical State Composition.

Welche Open-Source-Alternativen gibt es zu dotnet-state-machine/stateless?

Open-Source-Alternativen zu dotnet-state-machine/stateless sind unter anderem: pytransitions/transitions — Transitions is an object-oriented finite state machine library for Python. It provides a framework for managing valid… jakesgordon/javascript-state-machine — This library is a finite state machine framework for JavaScript designed to manage application states and valid… aasm/aasm — This library provides a framework for defining finite state machines within Ruby classes to manage complex object… pluginaweek/state_machine — This project is a Ruby library for defining and managing object lifecycles through states, events, and transition… day8/re-frame — re-frame is a functional framework for building single-page applications in ClojureScript. It provides a centralized,… effector/effector — Effector is a reactive state management library designed for building complex, event-driven applications. It functions…

Open-Source-Alternativen zu Stateless

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Stateless.
  • jakesgordon/javascript-state-machineAvatar von jakesgordon

    jakesgordon/javascript-state-machine

    8,751Auf GitHub ansehen↗

    This library is a finite state machine framework for JavaScript designed to manage application states and valid transitions. It provides a system for executing state changes with lifecycle hooks, conditional guards, and transition cancellation. The project is distinguished by its ability to inject state machine logic and transition capabilities directly into existing JavaScript class instances or objects. It also includes a visualization tool that exports state configurations into Graphviz DOT language for auditing system logic. The framework covers asynchronous transition execution and paus

    JavaScript
    Auf GitHub ansehen↗8,751
  • pytransitions/transitionsAvatar von pytransitions

    pytransitions/transitions

    6,548Auf GitHub ansehen↗

    Transitions is an object-oriented finite state machine library for Python. It provides a framework for managing valid states and the logic for moving between them, including implementations for asynchronous state machines and thread-safe state managers. The library supports hierarchical state machines that allow states to be nested to organize complex subtasks and logical contexts. It includes tools for generating visual diagrams of states and transitions to document machine logic. The project covers state management primitives such as lifecycle callbacks, conditional transition guarding, an

    Python
    Auf GitHub ansehen↗6,548
  • aasm/aasmAvatar von aasm

    aasm/aasm

    5,219Auf GitHub ansehen↗

    This library provides a framework for defining finite state machines within Ruby classes to manage complex object lifecycles. It functions as a declarative workflow engine, allowing developers to model object states, events, and transitions through a readable domain-specific language. By integrating directly with database persistence layers, the framework ensures that state changes are synchronized with storage records while maintaining data integrity through transaction management and row locking. The library distinguishes itself by enforcing strict business rules through conditional transit

    Ruby
    Auf GitHub ansehen↗5,219
  • pluginaweek/state_machineAvatar von pluginaweek

    pluginaweek/state_machine

    3,722Auf GitHub ansehen↗

    This project is a Ruby library for defining and managing object lifecycles through states, events, and transition rules. It functions as a declarative workflow engine that enforces business logic by restricting attribute changes to predefined, valid paths within Ruby classes. The library distinguishes itself through deep integration with database persistence layers, allowing it to automatically synchronize state changes with data models, validation frameworks, and transaction management. It supports dynamic configuration, enabling the construction of lifecycle rules at runtime from external d

    Ruby
    Auf GitHub ansehen↗3,722
  • Alle 30 Alternativen zu Stateless anzeigen→