ইভেন্ট ভিত্তিক উপাদান ব্যবহার করার সময় আমি প্রায়শই রক্ষণাবেক্ষণের পর্যায়ে কিছুটা ব্যথা অনুভব করি।
যেহেতু এক্সিকিউটেড কোডটি সমস্ত বিভক্ত হয়ে গেছে তখন রানটাইমের সাথে জড়িত সমস্ত কোড অংশ কী হবে তা নির্ধারণ করা বেশ কঠিন হতে পারে।
যখন কেউ নতুন কিছু ইভেন্ট হ্যান্ডলার যুক্ত করে তখন এটি সূক্ষ্ম এবং ডিবাগ করা শক্ত হয়ে উঠতে পারে।
মন্তব্যগুলি থেকে সম্পাদনা করুন: এমনকি বোর্ডে কিছু ভাল অনুশীলন সহ, যেমন অ্যাপ্লিকেশন ওয়াইড ইভেন্ট বাস থাকা এবং হ্যান্ডলাররা অ্যাপ্লিকেশনটির অন্য অংশে ব্যবসায় অর্পণ করে, এমন একটি মুহুর্ত আসে যখন কোডটি পড়া খুব কঠিন হতে শুরু করে কারণ সেখানে প্রচুর পরিমাণে রয়েছে বিভিন্ন স্থান থেকে নিবন্ধিত হ্যান্ডলারগুলি (বিশেষত কোনও বাসের সময় যখন সত্য থাকে)।
তারপরে সিকোয়েন্স ডায়াগ্রামটি জটিলটির দিকে নজর দিতে শুরু করে, কী ঘটছে তা নির্ধারণের জন্য সময় ব্যয় এবং ডিবাগিং সেশনটি অগোছালো হয়ে যায় (হ্যান্ডলারের উপর পুনরাবৃত্ত হওয়ার সময় হ্যান্ডলারের পরিচালকের উপর ব্রেকআপপয়েন্ট, বিশেষত অ্যাসিঙ্ক হ্যান্ডলারের সাথে আনন্দিত এবং এর উপরে কিছু ফিল্টারিং)।
//////////////
উদাহরণ
আমার একটি পরিষেবা আছে যা সার্ভারে কিছু ডেটা উদ্ধার করছে। ক্লায়েন্টে আমাদের একটি প্রাথমিক উপাদান রয়েছে যা কলব্যাক ব্যবহার করে এই পরিষেবাটি কল করে। উপাদানটির ব্যবহারকারীদের এক্সটেনশন পয়েন্ট সরবরাহ করতে এবং বিভিন্ন উপাদানগুলির মধ্যে সংযোজন এড়াতে আমরা কিছু ইভেন্ট গুলি চালাচ্ছি: কোয়েরি প্রেরণের আগে একটি, উত্তর যখন ফিরে আসবে এবং অন্যটি ব্যর্থতার ক্ষেত্রে অন্য একটি। আমাদের কাছে হ্যান্ডলারের একটি প্রাথমিক সেট রয়েছে যা প্রাক-নিবন্ধভুক্ত যা উপাদানটির ডিফল্ট আচরণ সরবরাহ করে।
এখন উপাদানটির ব্যবহারকারীরা (এবং আমরা উপাদানটির ব্যবহারকারীও) আচরণের কিছু পরিবর্তন করতে কিছু হ্যান্ডলার যুক্ত করতে পারেন (ক্যোরি সংশোধন করুন, লগগুলি, ডেটা বিশ্লেষণ, ডেটা ফিল্টারিং, ডেটা ম্যাসেজিং, ইউআই অভিনব অ্যানিমেশন, একাধিক ক্রমিক ক্রিয়াকলাপগুলি , যাই হোক). সুতরাং কিছু হ্যান্ডলারের অবশ্যই অন্যদের আগে / পরে মৃত্যুদণ্ড কার্যকর করা উচিত এবং তারা আবেদনের প্রচুর পৃথক এন্ট্রি পয়েন্ট থেকে নিবন্ধিত রয়েছে।
কিছুক্ষণ পরে, এটি ঘটতে পারে যে এক ডজন বা তারও বেশি হ্যান্ডলার নিবন্ধিত রয়েছে এবং এটির সাথে কাজ করা ক্লান্তিকর এবং বিপজ্জনক হতে পারে।
এই নকশাটি উদ্ভূত হয়েছিল কারণ উত্তরাধিকার ব্যবহার করা একটি সম্পূর্ণ জগাখিচুড়ি হতে শুরু করেছিল। ইভেন্ট সিস্টেমটি এমন এক রচনাতে ব্যবহৃত হয় যেখানে আপনি জানেন না যে আপনার কম্পোজিটগুলি কী হবে।
উদাহরণের শেষে
//////////////
সুতরাং আমি ভাবছি যে অন্যান্য ব্যক্তিরা এই জাতীয় কোডটি কীভাবে মোকাবেলা করছেন। এটি লিখতে এবং পড়ার সময় উভয়ই।
আপনার কি এমন কোনও পদ্ধতি বা সরঞ্জাম রয়েছে যা আপনাকে খুব ব্যথা ছাড়াই এই জাতীয় কোড লিখতে এবং বজায় রাখতে দেয়?