برنامه نویسی واکنشگرا (Reactive)

دسته بندی: مباحث عمومی

معرفی Reactive Programming

برنامه نویسی واکنش گرا مجموعه ای از تکنیک ها و الگوهای برنامه نویسی تعریف کرد که در طول سال های اخیر به امری مهم و قابل توجه بدل شده است.

برنامه نویسی واکنش گرا چیست؟

برنامه نویسی واکنش گرا یک پارادایم برنامه نویسی غیرهمزمان است که در اطراف stream یا جریان های داده ساخته شده است. رویدادها، درخواست های سرور، پیام ها و حتی مقادیر همگی از طریق جریان ها منتقل می شوند.

برنامه ریزی واکنش گرا یک سبک از micro-architecture است که شامل مسیریابی هوشمند و مصرف رویدادها است.

واکنش گرایی به این معنا است که شما می توانید با less بیشتر کار کنید، به ویژه می توانید فرآیند بارگذاری بیشتری با threads کمتری انجام دهید.

در زبان های برنامه نویسی جاوا، جاوااسکریپت، پایتون، اسکالا، GO و سی شارپ می توان از برنامه نویسی واکنش گرا بهره خواهید برد.

مزایای برنامه نویسی واکنش گرا

  • اجتناب از "callback hell"
  • بسیار ساده تر از رشته های منظم
  • دارای یک مکانیسم استاندارد برای ریکاوری خطا
  • دارای روش بسیار دقیق و روشنی برای ساخت عملیات غیرهمزمان
  • مدیریت راحت UI interactions/events
  • همان "API" را برای دسترسی به پایگاه داده، UI، محاسبات، دسترسی به شبکه و همه چیزهایی که به آن نیاز دارید ارائه می دهد
  • هماهنگ سازی کار به طور موازی و اجرای برخی از کد زمانی که همه چیز انجام شده است
  • راه فوق العاده آسان برای UI thread
  • ایجاد هم زمانی
  • یادگیری آسان
  • اپراتورها مقدار زیادی از کد تست شده را ارائه می دهند که می تواند به شما در حل وظایف کمک کند
  • انجام کارها به شیوه ای کارآمد تر

معایب برنامه نویسی واکنش گرا

  • نیاز به حافظه بیشتر برای ذخیره سازی جریان های داده
  • در نگاه اول یادگیری آن سخت می باشد
  • بیشترین پیچیدگی ها در زمان اعلام سرویس های جدید است
  • فقدان منابع خوب و ساده برای یادگیری
  • اغلب با برنامه نویسی تابعی-واکنش گرا (Functional Reactive Programming) اشتباه گرفته می شود
آیا این نوشته را دوست داشتید؟