12 Repos
Mechanisms for managing the creation, disposal, and cleanup of event subscriptions to prevent memory leaks.
Distinct from Subscription Management: Existing candidates refer to commercial billing subscriptions or notification recipients, not programming memory management.
Explore 12 awesome GitHub repositories matching software engineering & architecture · Subscription Lifecycle Management. Refine with filters or upvote what's useful.
RxSwift is a reactive programming library for Swift that provides a framework for managing push-based data flows and composing asynchronous, event-based programs. It utilizes observable sequences and functional operators to transform and filter asynchronous sequences through a declarative approach. The library is distinguished by its ability to link asynchronous data streams directly to user interface elements, automating view updates via reactive data binding. It includes specialized tools for tracking UI control properties and events on the main thread, as well as the ability to encapsulate
Cleans up resources by disposing of subscriptions manually or using automated disposal bags.
The Reactive Extensions for JavaScript
Creating, cancelling, and cleaning up observer subscriptions to prevent memory leaks and control resource usage.
RIBs is a mobile architecture framework that structures applications around isolated, lifecycle-managed units of business logic called RIBs. Each RIB separates routing, business logic, and construction into distinct classes through the Router-Interactor-Builder pattern, with hierarchical dependency injection scoping dependencies per node and static analysis enforcing architectural rules at build time. The framework enforces automatic disposal of Rx subscriptions scoped to interactor lifecycles, blocking compilation when subscriptions lack proper disposal to prevent memory leaks. It supports v
Enforces automatic disposal of Rx subscriptions scoped to interactor lifecycles, blocking compilation on missing disposal.
UniRx is a reactive programming library and event orchestration framework for the Unity engine. It implements observable sequences and functional operators to transform callbacks, coroutines, and engine events into cancellable data streams for unified asynchronous event handling. The library provides a reactive UI binding system that synchronizes data models with user interface elements to trigger automatic visual updates. It includes a type-based publication and subscription system to route messages between producers and consumers, decoupling internal game components. The framework covers a
Links data stream subscriptions to object lifecycles to ensure automatic resource cleanup when objects are destroyed.
Bacon.js is a JavaScript functional reactive programming library used for coordinating complex asynchronous data flows. It functions as an observable event stream framework and an asynchronous data flow orchestrator, allowing developers to model events as declarative streams and properties. The library distinguishes itself through its ability to manage reactive state and synchronize timing across multiple sources. It provides specialized mechanisms for atomic state synchronization to prevent glitches in derived properties and offers advanced coordination strategies such as asynchronous stream
Handles resource cleanup by tracking and disposing of event listeners when streams terminate to prevent memory leaks.
Vue Apollo is a GraphQL client library for Vue.js that integrates Apollo GraphQL queries and mutations into Vue components with reactive data binding. It provides a reactive data layer that automatically updates Vue component state when GraphQL query results change, and supports server-side rendering by prefetching queries during SSR to deliver fully populated HTML on initial page load. The library allows GraphQL queries and mutations to be declared directly inside Vue component options using the apollo property, keeping data dependencies co-located with the UI. It wraps Apollo Client's nor
Automatically subscribes to GraphQL subscriptions for active queries and unsubscribes on component unmount to prevent memory leaks.
re-frame ist ein funktionales Framework für den Bau von Single-Page-Anwendungen in ClojureScript. Es bietet eine zentralisierte, unveränderliche Datenbank, die als Single Source of Truth für den gesamten Anwendungszustand dient und einen strikten, unidirektionalen Datenfluss erzwingt, bei dem Events Zustandsübergänge und nachfolgende View-Updates auslösen. Das Framework zeichnet sich durch einen reaktiven Signal-Graphen und eine Interceptor-basierte Middleware-Pipeline aus. Indem Anwendungslogik als Sequenz datengetriebener Events und deklarativer Side-Effects behandelt wird, entkoppelt es die Geschäftslogik von der View-Schicht. Diese Architektur ermöglicht es Entwicklern, komplexe Zustandsübergänge und externe Operationen durch reine Funktionen zu verwalten, wobei sichergestellt wird, dass Side-Effects von einem separaten Interpreter statt durch imperative Aufrufe ausgeführt werden. Das System umfasst eine umfassende Suite an Funktionen für das Management der Anwendungsarchitektur, einschließlich reaktiver Datenableitung, abonnementbasierter View-Reconciliation und eventgesteuertem Zustandsmanagement. Es unterstützt fortgeschrittene Entwicklungs-Workflows wie Event-Tracing, State-Checkpointing und die Möglichkeit, Side-Effects für isolierte Tests zu stubben. Das Projekt ist für die Integration mit React konzipiert und nutzt Virtual-DOM-Reconciliation, um Benutzeroberflächen effizient zu aktualisieren. Es bietet ein robustes Set an Utilities für den Umgang mit Cross-Cutting Concerns, die Verwaltung komplexer Datenfluss-Graphen und die Koordination asynchroner Operationen innerhalb einer vorhersagbaren, sequenziellen Event-Pipeline.
Manages the creation and disposal of data subscriptions to prevent memory leaks and optimize performance.
RxPY ist eine Bibliothek für funktionale reaktive Programmierung und eine ReactiveX-Observable-Bibliothek für Python. Sie dient als asynchroner Stream-Prozessor und ereignisgesteuertes Koordinations-Framework zum Aufbau von Datenpipelines, die auf Zustandsänderungen oder Ereignisströme im Zeitverlauf reagieren. Die Bibliothek bietet ein Toolkit zur Komposition asynchroner und ereignisbasierter Programme mittels beobachtbarer Sequenzen und Operatoren. Sie zeichnet sich durch konfigurierbare Scheduler aus, die Nebenläufigkeit, Timing und Abonnement-Lebenszyklen verwalten. Das Projekt deckt ein breites Spektrum an Stream-Processing-Funktionen ab, einschließlich Datenaggregation, Filterung und Kombination. Es bietet Mechanismen für Event-Broadcasting, Sequenz-Buffering und Fehlerbehandlung sowie Werkzeuge zur Koordination beobachtbarer Streams mit asynchronen Event-Loops. Tests und Qualitätssicherung werden durch virtuelle Zeitsimulation, Marble-Diagramm-Modellierung und Emissionsverifizierung unterstützt.
Monitors the creation and disposal of subscriptions to ensure proper resource cleanup and memory management.
Dieses Repository ist eine Sammlung praktischer Implementierungsmuster und Referenzbeispiele für die Verwendung von RxJava 2 zur Verwaltung asynchroner Datenströme in Android-Anwendungen. Es dient als Leitfaden für die Implementierung reaktiver Programmierung und bietet Codebeispiele für den Umgang mit komplexer ereignisgesteuerter Logik und asynchronen Mustern in mobilen Umgebungen. Das Projekt zeichnet sich dadurch aus, dass es spezifische Referenzimplementierungen für häufige mobile Herausforderungen bietet, wie z. B. Echtzeitsuche mit Debouncing, On-Demand-Listen-Pagination für unendliches Scrollen und Cache-First-Datenstreaming zur Reduzierung wahrgenommener Ladezeiten. Es enthält zudem Beispiele für Event-Bus-Architekturen für entkoppelte Anwendungskommunikation. Die Codebasis deckt ein breites Spektrum reaktiver Fähigkeiten ab, einschließlich des Managements von Abonnement-Lebenszyklen zur Vermeidung von Speicherlecks, Thread-Switching mittels Schedulern und der Verwendung funktionaler Operatoren zur Transformation und Kombination von Datenströmen. Es demonstriert zudem asynchrone Netzwerkkoordination und die Verwendung von Composite Disposables für die Gruppenverwaltung von Abonnements.
Provides mechanisms for managing the creation and cleanup of event subscriptions to prevent memory leaks in mobile apps.
Dieses Projekt bietet eine formale Spezifikation und eine Reihe von Standard-Java-Interfaces für die asynchrone Stream-Verarbeitung. Es definiert ein standardisiertes Protokoll für die Weitergabe von Elementsequenzen zwischen Publishern und Subscribern über verschiedene Threads hinweg, wobei der Fokus auf einer Reactive-Streams-Spezifikation für die JVM liegt. Das Projekt konzentriert sich auf Interoperabilität durch die Bereitstellung einer gemeinsamen API, die es ermöglicht, dass verschiedene asynchrone Streaming-Bibliotheken zusammenarbeiten. Dies wird durch einen Standardsatz von Interfaces und Bridging-Mechanismen erreicht, die zwischen inkompatiblen Streaming-Spezifikationen übersetzen. Die Spezifikation deckt ein nicht-blockierendes Backpressure-Protokoll ab, um den Datenfluss zu regulieren und Systemüberlastungen zu verhindern, indem Subscriber aufgefordert werden, Bedarf zu signalisieren. Sie definiert zudem den Lebenszyklus von Streams, einschließlich Abonnement-Management, Elementverarbeitung und signalbasierter Beendigung zur Ressourcenbereinigung. Das Projekt enthält ein Framework zur Überprüfung des Stream-Verhaltens, um die Verarbeitungslogik gegen Regeln für Backpressure und asynchrone Ereignisse zu validieren.
Manages the creation, disposal, and cleanup of the connection between producers and consumers to prevent memory leaks.
Effector is a reactive state management library and data flow orchestrator designed for building complex, event-driven applications. It models application logic as a directed acyclic graph, where state updates and asynchronous side effects propagate automatically through declarative pipelines. By decoupling business logic from user interface layers, it allows developers to maintain state in independent containers that communicate via standard interfaces, ensuring the system remains framework-agnostic. The library distinguishes itself through its robust support for isolated execution scopes, w
Provides mechanisms to attach and detach listeners to data streams for reactive update control.
Strawberry is a type-safe GraphQL library for Python that enables the design of schemas using Python type annotations and dataclasses. It functions as an asynchronous GraphQL server and execution engine, providing a bridge to expose schemas across ASGI-compliant web frameworks such as FastAPI, Django, Flask, and Litestar. The project implements GraphQL Federation, allowing for the creation of distributed schemas and entities that merge into a unified supergraph across multiple services. It also includes a dedicated toolkit for the Relay specification, supporting global object identification a
Manages the lifecycle of data streams by detecting client unsubscriptions through the capture of cancellation exceptions.