پرش به محتوای اصلی
رزرو مشاوره تلفنی تک جلسه‌ای با استاد رضوی
رزرو مشاوره تلفنی
کنکور کامپیوتر
0
اشتراک
 

مدیریت رویدادها در برنامه نویسی ⚡️ رویداد در برنامه نویسی

این مقاله عالی مدیریت رویداد یا Event Handling را در برنامه نویسی توضیح داده و مراحل رسیدگی به رویدادها و تفاوت Event Handler و Event Listener را شرح داده

مدیریت رویداد یا Event Handling یکی از فعالیت‌هایی است که توسط برنامه‌نویسان در یک برنامه پیاده‌سازی شده و باعث می‌شود که یک نرم‌افزار و یا یک وب‌سایت بتواند با کاربران در تعامل باشد. این فرایند شامل تشخیص رویدادها و مدیریت کردن آنها می‌باشد. قبل از بحث در مورد مدیریت کردن رویداد، ابتدا باید مفهوم کلی رویداد یا Event را درک کنیم.

در این تصویر شخصی در حال کدنویسی با کامپیوتر و در حال فکر کردن به موضوع Event Handling می باشد

رویداد یا Event چیست؟

در برنامه‌های کامپیوتری مانند نرم‌افزارها، بازی‌های رایانه‌ای، وب‌سایت‌ها و دیگر موارد، رویدادها برای تعامل با کاربرها مورد استفاده قرار می‌گیرند. یک گوشی هوشمند را در نظر بگیرید؛ فرضا نرم‌افزار Google Chrome، با کلیک کردن روی نرم‌افزار گوگل کروم، وارد آن می‌‌شوید، با تایپ کردن متن مورد جستجو و سپس کلید بر روی دکمه جستجو، گوگل مطالب مرتبط با جستجوی شما را آماده کرده و به شما نمایش می‌دهد. در واقع در اینجا 2 رویداد صریح اتفاق افتاده است: اول اینکه با کلیک بر روی نرم‌افزار، موبایل شما وارد نرم‌افزار مربوطه می‌شود و دومین رویداد مربوط به کلیک کردن دکمه جستجو است بنابراین تمامی اتفاقاتی که با مداخله شما به‌عنوان کاربر در یک برنامه روی می‌دهد یک Event یا رویداد است؛ در واقع یک Event یک عکس‌العمل نسبت به عمل ما به‌عنوان کاربر می‌باشد. تمامی عمل‌ها مانند کلیک کردن روی صفحه لمسی، کلیک موس، فشار دادن کلیدهای کیبورد و... یک رویداد هستند. رویدادهایی که معرفی شدند، رویدادهای ملموس و قابل درکی می‌باشند. در برنامه نویسی انواع دیگر رویدادها نیز وجود دارد، به‌عنوان مثال "کامل شدن دانلود" نیز یک رویداد است یا مثلا ارسال شدن صحیح ایمیل و از این دست موارد.

مدیریت کردن رویدادها

گفتیم که عمل‌های کاربران در برنامه‌ها به‌عنوان یک Event یا رویداد در نظر گرفته می‌شود؛ حالا که این رویداد به‌وقوع پیوست چه اتفاقی باید بی‌افتد؟ این قسمت وظیفه Event Handlerها است که در واقع باید رویدادهای انجام شده را مدیریت و یا Handle کنند؛ در واقع این Handlerها یک Loop یاحلقه‌ای هستند که دائما به‌طور Asynchronous یا نامتقارن در حال بررسی کردن هستند که آیا رویداد مورد نظر انجام شده است یا خیر؟ اگر رویداد مورد نظر انجام شده باشد، Handler مربوط به این رویداد می‌بایست به این رویداد در قالب عکس‌العمل پاسخ دهد؛ به‌عنوان مثال یک بازی رایانه‌ای شوتر را در نظر بگیرید، زمانی که کلیک چپ موس را فشار می‌دهیم، کاراکتر بازیکن "شلیک" می‌کند. اگر بعد از عمل شلیک کردن مجددا این کار را انجام دهید چه اتفاقی می‌افتد؟ مسلما عمل شلیک کردن دوباره اتفاق می‌افتد بنابراین حلقه‌ای که رویداد شلیک را مدیریت می‌کند دائما در حال اجرا شدن و دور زدن است. در اینجا کلیک کردن بر روی موس یک رویداد است و شلیک کردن پاسخی در جواب این رویداد می‌باشد که توسط Handlerای که توسط برنامه‌نویس بازی نوشته شده است صورت می‌پذیرد. برای فهم بهتر این موضوع تصویر زیر را مشاهده کنید:

شرح نحوه مدیریت رویداد یا Event Handling در برنامه نویسی در قالب یک چارت

تفاوت Event Handler و Event Listener

یکی دیگر از واژه‌هایی که در کنار Eventها و Event Handlerها مورد استفاده قرار می‌گیرد، Event Listenerها هستند. خیلی از افراد معتقدند که Event Listener با Event Handler تفاوت دارد و در واقع یک آبجکت در یک زبان برنامه نویسی می‌تواند Listenerهای مختلفی داشته باشد اما تنها قادر است تا یک Handler داشته باشد. این بحث تا حدودی در بعضی فریم‌ورک‌ها می‌تواند درست باشد اما به‌طور کلی تفاوتی بین Event Handler و Event Listener وجود ندارد، در واقع Listener یک اصطلاح برای تابعی است که یک رویداد را Handle یا مدیریت می‌کند.

مراحل رسیدگی به رویدادها

به‌طور کلی رسیدگی به یک Event شامل 3 مرحله شناسایی رویداد، پردازش رویداد و پاسخ مناسب به رویداد است که در زیر به‌طور خلاصه به هر بخش پرداخته‌ایم:

  • تشخیص رویداد: اولین مرحله رسیدگی به رویداد، تشخیص آن است. تشخیص یک رویداد از طریق Listenerهای برنامه نویسی شده و Loopهای ایجاد شده صورت می‌گیرد. زمانی که یک رویداد (مثلا کلیک کردن یا تکمیل یک فرایند) تشخیص داده شد، اطلاعات مربوط به این Event وارد فاز بعدی می‌شود.
  • اعلان یا Notify کردن رویداد: پس از تشخیص رویداد اکنون نوبت به رساندن اطلاعات مربوطه به مدیر رویداد یا همان Event Handler می‌رسد. این کار معمولا از طریق توابع Callback یا صف‌های رویداد (Event Queues) انجام می‌شود.
  • رسیدگی به رویداد: فاز نهایی رسیدگی به رویداد است. در این مرحله عملیات مربوط به یک رویداد اجرا می‌شود، در واقع پاسخ به رویداد در این فاز صورت می‌پذیرد؛ به‌عنوان مثال ممکن است صفحه وب‌سایت به‌روز شود و سپس برنامه شروع به پخش یک ویدیو کند (مثلا بعد از پایان یافتن رویداد دانلود ویدیو).

مثال‌های برنامه نویسی

در این بخش ما دو مثال ساده را برای شما آماده کرده‌ایم تا با نحوه پیاده سازی یک Event Handler بیشتر آشنا شوید.

مدیریت رویداد در زبان جاوا اسکریپت

زبان برنامه نویسی جاوا اسکریپت که یکی از محبوب‌ترین زبان‌های برنامه نویسی توسعه وب است، از نمونه زبان‌هایی است که تعاملات کاربر با وب‌سایت را از طریق Eventها مدیریت می‌کند. به‌عنوان مثال کد زیر را در نظر بگیرید:

var button = document.getElementById("myButton");
 
button.addEventListener("click", function() {
  alert("Button clicked!");
});

در این کد یک متغیر button یا دکمه تعریف شده است که نماینده یک دکمه در وب‌سایت می‌باشد. تابع addEventListener برای این دکمه فراخوانی شده است. همانطور که مشاهده می‌کنید رویدادی که انتظار داریم رخ بدهد “click” نام دارد که با فشرده شدن دکمه این عمل انجام می‌شود. بعد از کلیک کردن، تابعی که به‌عنوان دومین پارامتر به Listener ما اضافه شده است اجرا می‌شود. در این تابع، تابع alert که در واقع یک هشدار (یا یک نوتیفیکیشن) برای وب است اجرا می‌شود که در آن Button clicked! نوشته شده است:

این تصویر یک مثال از رویداد کلیک در مرورگر کروم می باشد که پس از کلیک بر روی دکمه ای یک alert نمایش داده می شود

مدیریت رویداد در اندروید

یکی دیگر از پلتفرم‌هایی که در آن نیاز به ایجاد Event Listenerهای متعددی می‌باشد، برنامه نویسی سیستم عامل اندرويد است. از کلیک و کشیدن انگشت و یا لمس چند انگشتی گرفته تا تغییر میزان باتری، کم و زیاد کردن نور صفحه و یا صدا، همه و همه یک رویداد هستند و برای مدیریت آنها نیاز داریم تا یک Handler یا Listener مناسب بنویسیم. کد زیر را در نظر بگیرید:

Button myButton = findViewById(R.id.myButton);
 
myButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Toast.makeText(MainActivity.this, "Button clicked!", Toast.LENGTH_SHORT).show();
    }
});

در این کد نیز با کلیک کردن بر روی دکمه myButton یک پیام toast (پیامی که در قسمت زیرین صفحه نمایش گوشی اندرود ظاهر می‌شود.) با پیام Button clicked! نمایش داده می‌شود.

جمع‌بندی

مدیریت رویدادها یکی از مفاهیم اساسی در حوزه برنامه نویسی است که به برنامه‌ها امکان تعامل با کاربران و یا با سیستم را می‌دهد. با درک فرایند مدیریت کردن یک رویداد و آشنایی با روش‌های پیاده‌سازی، توسعه‌دهندگان قادر هستند تا نرم‌افزارهای تعاملی و کاربر پسندی بسازند؛ از توسعه نرم‌افزارهای کامپیوتری و موبایلی گرفته تا بازی‌ها و زمینه‌های مختلف دیگر. در این مقاله به‌طور مختصر به بحث در مورد مدیریت رویدادها با ذکر چند مثال کدنویسی پرداختیم.

مدیریت رویداد یا Event Handling چیست؟

به‌طور خلاصه مدیریت رویداد یا Event Handling یکی از فعالیت‌هایی است که توسط برنامه‌نویسان در یک برنامه پیاده‌سازی شده و باعث می‌شود که یک نرم‌افزار و یا یک وب‌سایت بتواند با کاربران در تعامل باشد. این فرایند شامل تشخیص رویدادها و مدیریت کردن آنها می‌باشد.

فرایند مدیریت یک رویداد چگونه است؟

به‌طور کلی رسیدگی به یک رویداد یا Event شامل 3 مرحله است: 1- شناسایی رویداد 2- پردازش رویداد 3- پاسخ مناسب به رویداد.

امتیازدهی51111111111امتیاز 5.00(3 امتیاز)
اشتراک
تلگرام اینستاگرام تماس با پشتیبانی: 09378555200 تماس با پشتیبانی: 09378555200
خدمات ما
پشتیبانی کنکور کامپیوتر

سؤالی داری؟ از هر راهی که راحت‌تری.

تماس با پشتیبانی۰۹۳۷۸۵۵۵۲۰۰ پشتیبانی در تلگرامپاسخ‌گویی پیامی کانال تلگراماخبار و اطلاعیه‌ها اینستاگرامkonkurcomputer.ir
اشتراک‌گذاری این مطلب

مدیریت رویدادها در برنامه نویسی ⚡️ رویداد در برنامه نویسی

تلگرام واتس‌اپ ایکس
https://www.konkurcomputer.ir/مدیریت-رویدادها-در-برنامه-نویسی-event-handling.html
خدمات کنکور کامپیوتر
هر چیزی که برای قبولی لازم داری، یک‌جاخدمات ما

از مشاوره‌ی شخصی با استاد رضوی تا فیلم‌های دروس، پلتفرم‌ها و ابزارهای رایگان

مشاوره‌ی شخصی با استاد رضوی
تماس با پشتیبانی