سه رویکرد برای ساخت موتور ریاکتیویتی
خلاصهٔ کاملتر
برای اینکه بفهمیم ریاکتیویتی چیه، میشه به یه صفحه گسترده (spreadsheet) فکر کرد: سلولهای ورودی داریم، سلولهای خروجی، و یه سری محاسبات میانی. وقتی یه ورودی عوض میشه، همه سلولهایی که بهش وابستهان باید بهروز بشن. ولی یه سیستم ریاکتیو خوب باید چهار ویژگی داشته باشه: کارآمد (هر نود حداکثر یهبار محاسبه بشه)، دقیق (فقط نودهای واقعاً تغییرکرده بهروز بشن)، بدون glitch (هیچوقت حالت ناسازگار قابل مشاهده نباشه)، و داینامیک (وابستگیها بتونن در زمان اجرا تغییر کنن).
Push-based reactivity سادهترین روشه: وقتی یه نود تغییر میکنه، سیگنالی به همه وابستههاش میفرسته. این روش ذاتاً دقیقه، چون فقط نودهای وابسته خبردار میشن. ولی مشکل اینجاست که یه نود ممکنه چندین بار بیدلیل محاسبه بشه — مثلاً اگه نود B هم به A و هم به C وابسته باشه و C هم از A تغذیه کنه، اول با تغییر A یهبار بهروز میشه، بعد دوباره با تغییر C. برای جلوگیری از این، باید کل گراف وابستگی رو از قبل بدونیم و ترتیب بهروزرسانی رو با topological sort (مرتبسازی توپولوژیک) تنظیم کنیم که در سیستمهای داینامیک سخته.
- دسترسی به خلاصهٔ کوتاه خبر
- دسترسی به خلاصهٔ کامل/اختصاصی خبر + نکات کلیدی
- ارسال اخبار مورد علاقه به ایمیل شما
- ارسال اخبار مورد علاقه به تلگرام شما
- عدم نمایش تبلیغات
- دسترسی به خلاصهٔ کوتاه خبر
- دسترسی به خلاصهٔ کامل/اختصاصی خبر + نکات کلیدی
- ارسال اخبار مورد علاقه به ایمیل شما
- ارسال اخبار مورد علاقه به تلگرام شما
- عدم نمایش تبلیغات




