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 هو إطار عمل وظيفي لبناء تطبيقات الصفحة الواحدة (SPA) باستخدام ClojureScript. يوفر قاعدة بيانات مركزية غير قابلة للتغيير تعمل كمصدر وحيد للحقيقة لحالة التطبيق بالكامل، مما يفرض تدفق بيانات أحادي الاتجاه صارم حيث تؤدي الأحداث إلى تغييرات في الحالة وتحديثات لاحقة للعرض. يتميز إطار العمل برسم بياني تفاعلي للإشارات وخط أنابيب (pipeline) وسيط يعتمد على المعترضات (interceptors). من خلال التعامل مع منطق التطبيق كسلسلة من الأحداث القائمة على البيانات والآثار الجانبية التصريحية، فإنه يفصل منطق الأعمال عن طبقة العرض. تسمح هذه البنية للمطورين بإدارة تغييرات الحالة المعقدة والعمليات الخارجية من خلال دوال نقية، مما يضمن تنفيذ الآثار الجانبية بواسطة مترجم منفصل بدلاً من الاستدعاءات الإلزامية. يتضمن النظام مجموعة شاملة من الإمكانيات لإدارة بنية التطبيق، بما في ذلك اشتقاق البيانات التفاعلي، ومطابقة العرض القائمة على الاشتراكات، وإدارة الحالة القائمة على الأحداث. يدعم سير عمل التطوير المتقدم مثل تتبع الأحداث، وحفظ نقاط فحص الحالة، والقدرة على محاكاة الآثار الجانبية للاختبار المعزول. تم تصميم المشروع للتكامل مع React، مستفيداً من مطابقة DOM الافتراضي لتحديث واجهات المستخدم بكفاءة. يوفر مجموعة قوية من الأدوات للتعامل مع الاهتمامات المتقاطعة، وإدارة رسوم بيانية معقدة لتدفق البيانات، وتنسيق العمليات غير المتزامنة ضمن خط أنابيب أحداث متسلسل وقابل للتنبؤ.
Manages the creation and disposal of data subscriptions to prevent memory leaks and optimize performance.
RxPY هي مكتبة للبرمجة التفاعلية الوظيفية ومكتبة ReactiveX للملاحظات (Observable) في Python. تعمل كمعالج تدفق غير متزامن وإطار عمل تنسيق قائم على الأحداث، وتُستخدم لبناء خطوط أنابيب بيانات تتفاعل مع تغيرات الحالة أو تدفقات الأحداث بمرور الوقت. توفر المكتبة مجموعة أدوات لتأليف البرامج غير المتزامنة والقائمة على الأحداث باستخدام تسلسلات قابلة للملاحظة وعوامل تشغيل. تتميز باستخدام مجدولات (Schedulers) قابلة للتكوين لإدارة التزامن والتوقيت ودورات حياة الاشتراك. يغطي المشروع مجموعة واسعة من قدرات معالجة التدفق، بما في ذلك تجميع البيانات، والتصفية، والدمج. كما يوفر آليات لبث الأحداث، وتخزين التسلسلات مؤقتًا، ومعالجة الأخطاء، بالإضافة إلى أدوات لتنسيق التدفقات القابلة للملاحظة مع حلقات الأحداث غير المتزامنة. يتم دعم الاختبار وضمان الجودة من خلال محاكاة الوقت الافتراضي، ونمذجة مخططات الرخام (Marble diagrams)، والتحقق من الانبعاثات.
Monitors the creation and disposal of subscriptions to ensure proper resource cleanup and memory management.
This repository is a collection of practical implementation patterns and reference samples for using RxJava 2 to manage asynchronous data streams in Android applications. It serves as a reactive programming implementation guide, providing code examples for handling complex event-driven logic and asynchronous patterns within mobile environments. The project distinguishes itself by providing specific reference implementations for common mobile challenges, such as real-time search with debouncing, on-demand list pagination for infinite scrolling, and cache-first data streaming to reduce perceive
Provides mechanisms for managing the creation and cleanup of event subscriptions to prevent memory leaks in mobile apps.
يوفر هذا المشروع مواصفات رسمية ومجموعة من واجهات Java القياسية لمعالجة التدفقات غير المتزامنة. يحدد بروتوكولاً موحداً لتمرير تسلسلات العناصر بين الناشرين والمشتركين عبر خيوط معالجة (threads) مختلفة، مع التركيز على مواصفات التدفقات التفاعلية (reactive streams) لـ JVM. يركز المشروع على قابلية التشغيل البيني من خلال توفير واجهة برمجة تطبيقات (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 هي مكتبة GraphQL آمنة من حيث النوع لـ Python تتيح تصميم المخططات باستخدام تعليقات النوع (type annotations) و dataclasses في Python. تعمل كخادم GraphQL غير متزامن ومحرك تنفيذ، مما يوفر جسرًا لعرض المخططات عبر أطر عمل الويب المتوافقة مع ASGI مثل FastAPI و Django و Flask و Litestar. ينفذ المشروع GraphQL Federation، مما يسمح بإنشاء مخططات وكيانات موزعة تندمج في مخطط فائق موحد عبر خدمات متعددة. كما يتضمن مجموعة أدوات مخصصة لمواصفات Relay، تدعم تحديد الكائنات عالميًا والترقيم القائم على الاتصال. يغطي إطار العمل مجموعة واسعة من القدرات، بما في ذلك تدفق البيانات في الوقت الفعلي عبر WebSockets و Server-Sent Events، ورسم خرائط نماذج Pydantic، وتوليد الكود التلقائي. يوفر أدوات متكاملة للأمان والمراقبة، مثل تحديد تعقيد الاستعلام، والتحكم في الوصول القائم على الأدوار، وتتبع مقاييس التنفيذ. يمكن للمطورين إنشاء نماذج أولية باستخدام خادم تطوير مدمج مع واجهة فحص مخطط تفاعلية.
Manages the lifecycle of data streams by detecting client unsubscriptions through the capture of cancellation exceptions.