- ইভেন্ট-ভিত্তিক প্রোগ্রামিংয়ের বৈশিষ্ট্য
- ইভেন্ট নির্ভরতা
- পরিষেবামুখী
- ঘটনাবলী
- নিয়ামক
- ট্রিগার ফাংশন
- সময় নিয়ন্ত্রিত
- ইভেন্ট-চালিত প্রোগ্রামিংয়ের উদাহরণ
- কাজের অনুমতি
- কর্মের সূচনা
- সুবিধা
- দ্রুত প্রক্রিয়াজাতকরণ
- ইন্টারেক্টিভিটি
- সিদ্ধান্তগুলির কোডিং কম
- নমনীয়তা
- বৈধ টিকিট
- সহজ রক্ষণাবেক্ষণ
- অসুবিধেও
- জটিল নিয়ন্ত্রণ প্রবাহ
- এটি কাঠামোগত প্রোগ্রামিং প্রতিস্থাপন করে না
- নমনীয়তা
- অ্যাপ্লিকেশন
- গ্রাফিকাল ইউজার ইন্টারফেস
- তথ্যসূত্র
ঘটনা - চালিত প্রোগ্রামিং কম্পিউটার প্রোগ্রামিং এর একটি মডেল, যেখানে ঘটনা যে একটি প্রোগ্রাম নিয়ন্ত্রণ প্রবাহ নির্ধারণ ঘটতে ব্যবহার করা হয় উল্লেখ করে।
এটি কোনও ধরণের প্রযুক্তি বা প্রোগ্রামিং ভাষা নয়, বরং এমন একটি পদ্ধতির যা পণ্য বিকাশের পর্যায়ে প্রয়োগ করা হয়। মূলত, এটি ইভেন্টের প্রক্রিয়াকরণের যুক্তিটিকে কোনও প্রোগ্রামের বাকী কোড থেকে আলাদা করে।
এই ধরণের প্রোগ্রামিংগুলি ইভেন্টগুলি ঘটে যাওয়ার সাথে সাথে আবিষ্কার করার জন্য ডিজাইন করা হয়েছে, সাধারণত কোনও ফাংশন বা পদ্ধতিতে কল করে তাদের সাথে ডিল করার জন্য একটি উপযুক্ত ইভেন্ট হ্যান্ডলিং পদ্ধতি ব্যবহার করে।
তাত্ত্বিকভাবে, এই প্রোগ্রামিংয়ের স্টাইলটি সমস্ত প্রোগ্রামিং ভাষার সাথে সামঞ্জস্যপূর্ণ, যদিও এটি প্রয়োগের পদ্ধতিতে এটি ভিন্ন হতে পারে।
সাধারণভাবে, ইভেন্ট চালিত অ্যাপ্লিকেশনটিতে একটি প্রধান লুপ থাকে যা নতুন আগত ইভেন্টগুলির জন্য "শ্রবণ করে", যখন সনাক্ত করা হয় তখন একটি ফাংশন কলকে ট্রিগার করে। অতএব, এর ক্রিয়াকলাপ ঘটনাগুলিতে ফোকাস করে, কী কার্যকর করা উচিত এবং কোন ক্রমে।
ইভেন্ট-ভিত্তিক প্রোগ্রামিংয়ের বৈশিষ্ট্য
সূত্র: pixabay.com
ইভেন্ট নির্ভরতা
প্রোগ্রামটির প্রবাহটি এমন ইভেন্টগুলির দ্বারা দেওয়া হয় যা ব্যবহারকারীর ক্রিয়া, অন্যান্য প্রোগ্রামের বার্তাগুলি ইত্যাদি হতে পারে, ইভেন্টগুলির প্রসেসিং যুক্তিটিকে কোনও প্রোগ্রামের বাকী কোড থেকে আলাদা করে, এইভাবে ব্যাচ প্রসেসিংয়ের সাথে বিপরীত।
ইভেন্টগুলি নিজেরাই loanণের অনুরোধ গ্রহণ বা প্রত্যাখ্যান করা থেকে শুরু করে একটি উচ্চ-স্তরের ইভেন্ট বলে, কোনও কী চাপতে থাকা কোনও ব্যবহারকারী, যা নিম্ন স্তরের ইভেন্ট is
পরিষেবামুখী
কম্পিউটারের গতি কমিয়ে না দিয়ে সার্ভিসের জন্য ডিজাইন করা প্রোগ্রামগুলি লেখার জন্য এটি ব্যবহার করা হয়, যেহেতু পরিষেবা ওরিয়েন্টেশন কেবল সামান্য প্রসেসিং শক্তি খরচ করে। এছাড়াও, পরিষেবাগুলি সাধারণত অপারেটিং সিস্টেমের পটভূমিতে চলে।
ঘটনাবলী
এটি এমন একটি শর্ত যা কোনও প্রোগ্রাম কার্যকর করার সময় উদ্ভূত হয় এবং এর জন্য সিস্টেমের পক্ষ থেকে কিছু পদক্ষেপ নেওয়া প্রয়োজন। প্রতিটি ইভেন্ট প্রকৃতিতে আলাদা, কারও কারও কাছে নির্দিষ্ট তথ্য পুনরুদ্ধার এবং প্রদর্শন করার জন্য প্রোগ্রামের প্রয়োজন হয় এবং অন্যদের কিছু গণনা এবং রাষ্ট্র পরিবর্তন শুরু করা প্রয়োজন।
ইভেন্টগুলিতে মাউস, কীবোর্ড, একটি ইউজার ইন্টারফেস এবং ক্রিয়াগুলি অন্তর্ভুক্ত থাকে যা ঘটে থাকে যখন প্রোগ্রামে ট্রিগার করা উচিত। এর অর্থ হল যে ব্যবহারকারীকে অবশ্যই প্রোগ্রামের কোনও জিনিসের সাথে যোগাযোগ করতে হবে, যেমন একটি মাউস বোতামে ক্লিক করা, বোতামটি নির্বাচন করতে কীবোর্ড ব্যবহার করা ইত্যাদি etc.
নিয়ামক
এটি প্রোগ্রামের একটি নির্দিষ্ট ইউনিট যা কোনও ইভেন্টে প্রতিক্রিয়া জানাতে সক্রিয় হয়। এটি হ'ল এটি এমন একধরণের ফাংশন বা পদ্ধতি যা কোনও নির্দিষ্ট ইভেন্ট ট্রিগার করা হলে একটি নির্দিষ্ট ক্রিয়া সম্পাদন করে।
উদাহরণস্বরূপ, এটি এমন একটি বোতাম হতে পারে যা যখন ব্যবহারকারী এতে ক্লিক করে কোনও বার্তা প্রদর্শন করে এবং যখন তারা সেই বোতামটি ক্লিক করেন তখন বার্তাটি বন্ধ করে দেয়।
ট্রিগার ফাংশন
এগুলি হ'ল ফাংশন যা কোনও নির্দিষ্ট ইভেন্ট দেখা দিলে কোন কোডটি কার্যকর করতে হবে তা স্থির করে। কোনও ইভেন্ট ঘটলে কোন ইভেন্ট হ্যান্ডলারটি ব্যবহার করতে হয় তা নির্বাচন করতে এগুলি ব্যবহার করা হয়।
সময় নিয়ন্ত্রিত
এটি একটি নির্দিষ্ট কোড যা একটি নির্দিষ্ট সময়ে চলে। এর অর্থ এটি করা একটি প্রিসেট টাস্ক।
উইন্ডোজ আপডেট নিয়ন্ত্রিত সময়ের একটি উদাহরণ, যেখানে ব্যবহারকারী কখন আপডেট করতে হবে বা কখন আপডেটটি পরীক্ষা করে ডাউনলোড করতে হবে তা সেট করতে পারে।
ইভেন্ট-চালিত প্রোগ্রামিংয়ের উদাহরণ
ইভেন্ট-ভিত্তিক প্রোগ্রামগুলি খুব সাধারণ হয়ে উঠেছে। সর্বাধিক বিশিষ্ট উদাহরণগুলির মধ্যে রয়েছে ওয়ার্ড প্রসেসিং, অঙ্কন সরঞ্জাম, স্প্রেডশিট ইত্যাদি are
বেশিরভাগ আধুনিক মেসেজিং সিস্টেমগুলি ইভেন্ট-চালিত প্যাটার্নগুলিও অনুসরণ করে, যখন বড় আকারের ওয়েবসাইটগুলি বিতরণযোগ্য প্রকৃতির স্কেলযোগ্য এবং ইভেন্ট-চালিত আর্কিটেকচার ব্যবহার করে। অন্যান্য উদাহরণগুলি হ'ল:
- একটি কী চাপানো হয়েছিল (পাঠ্য সম্পাদক)।
- একটি নতুন টাস্ক ক্যালেন্ডার সমস্ত কর্মীদের (পরিচালন সিস্টেম) এ বিতরণ করার জন্য প্রস্তুত।
- একটি এইচটিএমএল বার্তা (ওয়েব সার্ভার) প্রাপ্ত হয়েছে।
- একটি অবৈধ বাণিজ্যের প্যাটার্ন সনাক্ত করা হয়েছে (জালিয়াতি সনাক্তকরণ)।
- কম্পিউটার গেমের একটি গাড়ি অন্য গাড়ি (রেসিং গেম) এর সাথে সংঘর্ষে লিপ্ত হয়।
- একটি রোবট তার গন্তব্যে পৌঁছেছে (রিয়েল টাইমে গুদাম পরিচালনা)।
কাজের অনুমতি
ইভেন্ট-চালিত প্রোগ্রামিংয়ে ব্যবহৃত ইভেন্টের ব্যবহারিক উদাহরণ হ'ল কোনও সিস্টেমে ওয়ার্ক পারমিটের জন্য আবেদনকারী কর্মচারী। এই কর্মচারী তার অনুরোধটি প্রকাশ করলে, তিনি একটি বিজ্ঞপ্তি সক্রিয় করবেন যা ম্যানেজারকে অনুমোদনের জন্য প্রেরণ করা হবে।
ব্যবস্থাপক অনুরোধের বিশদটি দেখতে পারা, অনুমোদন বা প্রত্যাখ্যান করতে পারবেন, অতিরিক্ত সেশন শুরু করার প্রয়োজন ছাড়াই এটি সিস্টেমে আপডেট করে।
কর্মের সূচনা
ইভেন্ট-ভিত্তিক প্রোগ্রামিংয়ের মূল বিষয়গুলি অনুসরণ করে এমন কোনও প্রোগ্রামের ক্রিয়াকলাপগুলি ইভেন্ট দ্বারা শুরু করা হয়:
- হার্ডওয়্যার
- তালিকাভুক্ত.
- মৃত্যুদণ্ড কার্যকর সময়।
- অপারেটিং সিস্টেম থেকে।
- প্রোগ্রামটির জিইউআইয়ের সাথে কথোপকথনের মাধ্যমে দেওয়া ব্যবহারকারী নির্দেশাবলী দ্বারা সক্রিয় করা।
এর সহজতম মোডে প্রোগ্রামারদের এই প্রশ্নের উত্তর দিতে হবে: "যখন কোনও নির্দিষ্ট ঘটনা ঘটে তখন কী হওয়া উচিত?"
নিম্নলিখিত সিউডো-কোড রুটিনটি দেখায় যে খুব সাধারণ শিডিয়ুলার কীভাবে কাজ করতে পারে। এটিতে একটি প্রধান লুপ থাকে যা কিছু অবসানের শর্ত না হওয়া পর্যন্ত অবিচ্ছিন্নভাবে চালিত হয়।
যখন কোনও ইভেন্ট দেখা দেয়, তফসিলকারীকে অবশ্যই ইভেন্টের ধরণটি নির্ধারণ করতে হবে এবং একটি উপযুক্ত ইভেন্ট হ্যান্ডলার নির্বাচন করতে হবে, বা যদি কোনও ইভেন্টের হ্যান্ডলার উপস্থিত না থাকে তবে ইভেন্টটি পরিচালনা করতে হবে।
সুবিধা
দ্রুত প্রক্রিয়াজাতকরণ
একাধিক প্রসেসর এবং ইভেন্ট হ্যান্ডলারের মধ্যে ডেটা প্রচারের কারণে।
ইন্টারেক্টিভিটি
এটি ইভেন্ট-ভিত্তিক প্রোগ্রামিংয়ের সবচেয়ে গুরুত্বপূর্ণ সুবিধা, ব্যবহারকারীর অভিজ্ঞতা উন্নত করে। আজকের ব্যবহারকারীরা সক্রিয়ভাবে অংশ নিতে এবং প্যাসিভ ভোক্তা না থেকে থাকতে চান।
সুতরাং, ইভেন্ট-ভিত্তিক প্রোগ্রামগুলি ব্যবহারকারীরা তাদের নিজস্ব অভিজ্ঞতা নেভিগেট করতে এবং প্রাক-সেট সীমাবদ্ধতা ছাড়াই বিভিন্ন বিকল্প আবিষ্কার করতে সহায়তা করে।
সিদ্ধান্তগুলির কোডিং কম
প্রোগ্রামিংয়ের এই পদ্ধতির সমস্ত স্টেকহোল্ডারদের জন্য অনেক সুবিধা রয়েছে কারণ traditionalতিহ্যগত অ্যাপ্লিকেশনগুলির তুলনায় কোডের কম সিদ্ধান্ত নেওয়া দরকার।
সমস্ত ইভেন্টের জন্য উন্নত কোডিংয়ের পরিবর্তে অনেকগুলি ইভেন্ট ব্যবহারকারীর ক্রিয়া দ্বারা নির্ধারিত হয়। প্রথাগত অ্যাপ্লিকেশনগুলি কাজ করার সময়, ইভেন্ট-চালিত অ্যাপ্লিকেশনগুলি প্রতিক্রিয়া জানায়।
নমনীয়তা
এটি সফ্টওয়্যার ইঞ্জিনিয়ারিং যেমন ক্লাউড কম্পিউটিং, মাইক্রোসার্ভেসিস এবং নমনীয় এবং বিতরণ সিস্টেমের সাথে আরও ভাল স্কেলিবিলিটির প্রয়োজনের সাথে সাম্প্রতিক ট্রেন্ডগুলির সাথে পুরোপুরি ফিট করে।
বৈধ টিকিট
অবৈধ মান সহ প্রবেশের সম্ভাবনা দূর করে। একটি traditionalতিহ্যবাহী অ্যাপ্লিকেশন একটি প্রশ্ন জিজ্ঞাসা করে এবং ব্যবহারকারীকে একটি উত্তর টাইপ করতে দেয়। ইভেন্ট-চালিত অ্যাপ্লিকেশনগুলি সাধারণত বাটন হিসাবে বা ড্রপ-ডাউন মেনু হিসাবে বিকল্পগুলির একটি সেট সরবরাহ করে।
সহজ রক্ষণাবেক্ষণ
মডিউলগুলি যুক্ত বা অপসারণ করার সময় বিদ্যমান কোডটি সংশোধন এবং সমন্বয় করার প্রয়োজনটি মুছে ফেলা হয়। সিস্টেমটি এ জাতীয় কোনও সামঞ্জস্য নির্বিশেষে সহজেই পরিচালনা করে চলেছে।
সুতরাং, এই প্রোগ্রামিংটি কাঠামোর উপর নির্ভর করে অভ্যন্তরীণ এবং বাহ্যিক ইভেন্টগুলির একটি সেটের ভিত্তিতে নিয়ন্ত্রণ প্রবাহ সহ অ্যাপ্লিকেশনগুলির জন্য উপযুক্ত।
অসুবিধেও
জটিল নিয়ন্ত্রণ প্রবাহ
প্রোগ্রামিংয়ের এই পদ্ধতিকে ছোট এবং সাধারণ অ্যাপ্লিকেশনগুলির পক্ষে সেরা বিকল্প নয়, কারণ যে প্রচেষ্টা অবশ্যই করতে হবে সেগুলি বোধগম্য নয়।
ইভেন্ট-চালিত অ্যাপ্লিকেশন বিকাশ করা সিস্টেমের নকশা এবং বিতরণের জটিলতা বৃদ্ধি করে। এটি হ'ল কারণ সনাতন সফ্টওয়্যার আর্কিটেকচারগুলি ইভেন্ট-চালিত ইন্টারঅ্যাকশনগুলির পরিবর্তে অনুরোধ ভিত্তিক ইন্টারঅ্যাকশনগুলির ভিত্তিতে।
তদ্ব্যতীত, অবিচ্ছিন্নভাবে গতিশীল ইভেন্ট লুপগুলির প্রয়োজনের কারণে প্রচুর প্রস্তুতিও প্রয়োজন।
এটি কাঠামোগত প্রোগ্রামিং প্রতিস্থাপন করে না
এটি লক্ষ করা উচিত যে ইভেন্ট-ভিত্তিক প্রোগ্রামিং traditionalতিহ্যগত কাঠামোগত প্রোগ্রামিং প্রতিস্থাপন করে না, তবে কেবল এটি পরিপূরক।
সামগ্রিক প্রোগ্রামটি লেখার জন্য ditionতিহ্যবাহী প্রোগ্রামিং পদ্ধতিগুলি অপরিহার্য থেকে যায়, যখন ইভেন্ট-চালিত কোডিং উপাদানগুলি কেবল জিইউআই ডিজাইন করতে সহায়তা করে।
নমনীয়তা
ইভেন্ট-ওরিয়েন্টেড শিডিয়ুলিংয়ের নমনীয়তা, যা এটির অবিসংবাদিত সুবিধা, নির্দিষ্ট পরিস্থিতিতে একটি জালিয়াতিতে পরিণত হয়। এই উদ্ভাসগুলির মধ্যে একটি হ'ল ইভেন্ট-ভিত্তিক প্রোগ্রামের ক্ষেত্রে সামগ্রিক ব্যবস্থার উপর পরিবর্তন এবং দুর্বল নিয়ন্ত্রণের ক্ষেত্রে অনাকাঙ্ক্ষিত।
যদিও এনকোডাররা কিছু কার্যকরী মডিউলগুলি সরিয়ে বা যুক্ত করার মতো ঘর্ষণহীন সামঞ্জস্য করার জন্য ইভেন্ট-চালিত প্রোগ্রামিং ব্যবহার করতে পছন্দ করে, এই সমন্বয়গুলি কার্যকারিতাতে অপ্রত্যাশিত পরিবর্তন ঘটাতে পারে।
প্রচলিত প্রোগ্রামিং-এ, সিস্টেম খুব দ্রুত এই অপারেশনাল ব্যতিক্রমগুলি আবিষ্কার করে, প্রোগ্রামারকে তাদের কারণ সম্পর্কে একটি প্রতিবেদন সরবরাহ করে। ইভেন্ট-চালিত প্রোগ্রামিং পরিবেশে, এই জাতীয় ত্রুটি সনাক্তকরণ কম দ্রুত এবং সহজ।
অ্যাপ্লিকেশন
ইভেন্ট-চালিত প্রোগ্রামিং যেহেতু একধরণের ভাষার চেয়ে পদ্ধতির চেয়ে বেশি পরিণত হয়, তাই ইভেন্ট-ভিত্তিক অ্যাপ্লিকেশনগুলি কোনও প্রোগ্রামিং ভাষায় তৈরি করা যেতে পারে।
ইভেন্ট-চালিত প্রোগ্রামিং সফ্টওয়্যার ডেভলপমেন্ট পরিষেবাদির বিশ্বে রূপান্তর করছে এবং আজকের উন্নয়নের একটি অবিচ্ছেদ্য অঙ্গ হয়ে উঠছে। এর বিস্তারণটি উইন্ডোজ এবং ভিজ্যুয়াল পরিবেশের বিস্তার দ্বারা উদ্দীপিত হয়েছিল।
একটি ইভেন্ট-চালিত পরিস্থিতির একটি কেস একটি নির্দিষ্ট সময়ে নির্দিষ্ট কাজ করার জন্য একটি ওয়েক-আপ টাইমার সেটটির সাথে সাদৃশ্যযুক্ত হবে, যেমন কোনও কিছু বেজে ও বলে যে "জাগো!"
গ্রাফিকাল ইউজার ইন্টারফেস
এই সময়সূচী পদ্ধতির ঘটনা কেন্দ্রিক। এর সর্বাধিক সাধারণ অ্যাপ্লিকেশন ক্ষেত্রগুলির মধ্যে রয়েছে গ্রাফিকাল ইউজার ইন্টারফেস (জিইউআই) তৈরি করা, সার্ভার অ্যাপ্লিকেশনগুলি এবং মাল্টিপ্লেয়ার গেমগুলি বিকাশ করা।
প্রচলিত প্রোগ্রামগুলি ইভেন্টগুলির প্রবাহকে প্রতিষ্ঠিত করে এবং ব্যবহারকারীর বিকল্পগুলির উপর নিয়ন্ত্রণ রাখে, এই আরও উদ্ভাবনী প্রোগ্রামিং জিইউআই তৈরিতে পরিবেশন করেছে।
জিইউআই ব্যবহারকারীদের ড্রপ-ডাউন মেনু, উইন্ডোজ, বোতাম এবং চেকবক্সগুলির আকারে একাধিক বিকল্প সরবরাহ করে হিউম্যান-কম্পিউটার ইন্টারঅ্যাকশন পরিবর্তন করেছে।
সুতরাং, কম্পিউটার দ্বারা নির্ধারিত ক্রিয়াকলাপগুলির পূর্বনির্ধারিত ক্রম অনুসরণ করার পরিবর্তে, ব্যবহারকারীরা নিজেরাই উপলভ্য প্রচুর কমান্ডগুলির মধ্যে একটি বেছে নিতে পারেন।
গ্রাফিকাল ইউজার ইন্টারফেসে এই প্রোগ্রামিংটি ব্যাপকভাবে প্রয়োগ করা ছাড়াও, অ্যাপ্লিকেশনগুলিতে জাভাস্ক্রিপ্ট ওয়েব অ্যাপ্লিকেশনগুলির মতো কিছু নির্দিষ্ট ক্রিয়া সম্পাদন করে এমন অ্যাপ্লিকেশনগুলিতেও এটি ব্যাপকভাবে প্রয়োগ করা হয়।
তথ্যসূত্র
- রসপাল চিমা (2018)। সফ্টওয়্যার বিকাশে ইভেন্ট-চালিত অ্যাপ্লিকেশন। ব্লুবেরি পরামর্শদাতা। থেকে নেওয়া: bbconsult.co.uk।
- কোরাম (2020)। বিল্ডিং অ্যাপস - পাঠ 1: ইভেন্ট-চালিত প্রোগ্রামিংয়ের পরিচিতি। গৃহীত: কোরামল্যাংয়েজিও ডট কম।
- মার্গারেট রাউস (২০১২)। ইভেন্ট-চালিত অ্যাপ্লিকেশন। টেকটার্জেট থেকে নেওয়া: searchitoperations.techtarget.com।
- ইউকে প্রবন্ধ (2018)। ইভেন্ট-চালিত প্রোগ্রামিং বৈশিষ্ট্য। থেকে নেওয়া: ukessays.com।
- সৌভিক ব্যানার্জি (2019)। ইভেন্ট-চালিত প্রোগ্রামিং: এটি এখন ট্রেন্ডিং কেন? আরএস ওয়েবসাইটসমূহ। থেকে নেওয়া হয়েছে: rswebsols.com।
- টেকোপিডিয়া (2018)। ইভেন্ট-চালিত প্রোগ্রাম। থেকে নেওয়া: সিলিংপিডিয়া ডটকম।
- প্রযুক্তি ইউকে (2020) 20 ইভেন্ট-চালিত প্রোগ্রামিং। থেকে নেওয়া: টেকনোলজিক ডট নেট।