12 个仓库
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 is a functional framework for building single-page applications in ClojureScript. It provides a centralized, immutable database that serves as the single source of truth for the entire application state, enforcing a strict unidirectional data flow where events trigger state transitions and subsequent view updates. The framework distinguishes itself through a reactive signal graph and an interceptor-based middleware pipeline. By treating application logic as a sequence of data-driven events and declarative side effects, it decouples business logic from the view layer. This architectur
Manages the creation and disposal of data subscriptions to prevent memory leaks and optimize performance.
RxPY 是一个 Python 函数式响应式编程库,也是 ReactiveX 的可观察对象库。它作为一个异步流处理器和事件驱动的协调框架,用于构建能够对状态变化或随时间变化的事件流做出反应的数据流水线。 该库提供了一套工具,用于使用可观察序列和操作符来编写异步和基于事件的程序。它通过使用可配置的调度器来管理并发、时序和订阅生命周期,从而脱颖而出。 该项目涵盖了广泛的流处理能力,包括数据聚合、过滤和组合。它提供了事件广播、序列缓冲和错误处理机制,以及用于协调可观察流与异步事件循环的工具。 通过虚拟时间模拟、大理石图建模和发射验证,该库提供了完善的测试和质量保证支持。
Monitors the creation and disposal of subscriptions to ensure proper resource cleanup and memory management.
该仓库是使用 RxJava 2 管理 Android 应用中异步数据流的实践模式和参考示例集合。它作为响应式编程实现指南,为处理移动环境中的复杂事件驱动逻辑和异步模式提供了代码示例。 该项目通过为常见的移动端挑战提供具体的参考实现而脱颖而出,例如带防抖的实时搜索、无限滚动的按需列表分页,以及减少感知加载时间的缓存优先数据流。它还包括用于解耦应用通信的事件总线架构示例。 代码库涵盖了广泛的响应式能力,包括防止内存泄漏的订阅生命周期管理、通过调度器进行的线程切换,以及用于数据流转换和组合的函数式操作符。它进一步演示了异步网络协调以及用于组订阅管理的复合一次性对象(Composite Disposables)的使用。
Provides mechanisms for managing the creation and cleanup of event subscriptions to prevent memory leaks in mobile apps.
该项目为异步流处理提供了正式规范和一套标准 Java 接口。它定义了一个标准化的协议,用于在不同线程的发布者和订阅者之间传递元素序列,核心是 JVM 的响应式流(Reactive Streams)规范。 该项目通过提供一个通用 API 来实现互操作性,允许不同的异步流处理库协同工作。这是通过一组标准接口和桥接机制实现的,这些机制可以在不兼容的流规范之间进行转换。 该规范涵盖了非阻塞背压(Backpressure)协议,通过要求订阅者发出需求信号来调节数据流并防止系统过载。它还定义了流的生命周期,包括订阅管理、元素处理以及用于资源清理的基于信号的终止。 该项目包括一个用于验证流行为的框架,以根据背压和异步事件规则验证处理逻辑。
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 是一个用于 Python 的类型安全 GraphQL 库,支持使用 Python 类型注解和数据类(dataclasses)来设计 Schema。它作为一个异步 GraphQL 服务器和执行引擎,提供了将 Schema 暴露给 ASGI 兼容 Web 框架(如 FastAPI、Django、Flask 和 Litestar)的桥梁。 该项目实现了 GraphQL Federation,允许创建分布式 Schema 和实体,并将它们合并为跨多个服务的统一超图(supergraph)。它还包含一个专用的 Relay 规范工具包,支持全局对象标识和基于连接的分页。 该框架涵盖了广泛的能力,包括通过 WebSocket 和服务器发送事件(SSE)进行实时数据流传输、Pydantic 模型映射以及自动代码生成。它为安全性和可观测性提供了集成工具,例如查询复杂度限制、基于角色的访问控制(RBAC)和执行指标追踪。 开发者可以使用内置的开发服务器和交互式 Schema 检查界面进行原型设计。
Manages the lifecycle of data streams by detecting client unsubscriptions through the capture of cancellation exceptions.