আমি জাভাতে প্রতিবিম্ব ব্যবহার করে কলব্যাক / প্রতিনিধি সমর্থন বাস্তবায়ন করেছি। বিশদ এবং কার্যকারী উত্স আমার ওয়েবসাইটে উপলব্ধ ।
কিভাবে এটা কাজ করে
উইথপার্মস নামে নেস্টেড ক্লাস সহ আমাদের কলব্যাক নামের একটি নীতিগত ক্লাস রয়েছে। যে এপিআই কলব্যাকের প্রয়োজন তা প্যারামিটার হিসাবে একটি কলব্যাক অবজেক্ট নেবে এবং যদি প্রয়োজন হয় তবে একটি কল ভেরিয়েবল হিসাবে কলব্যাক তৈরি করবে ith যেহেতু এই বস্তুর অনেকগুলি অ্যাপ্লিকেশন পুনরাবৃত্ত হবে, এটি খুব পরিষ্কারভাবে কাজ করে।
পারফরম্যান্সটি এখনও আমার কাছে উচ্চ অগ্রাধিকারের সাথে, প্রতিটি অনুরোধের জন্য প্যারামিটারগুলি ধারণ করার জন্য আমার কোনও নিক্ষিপ্ত অবজেক্ট অ্যারে তৈরি করা প্রয়োজন হবে না - সর্বোপরি বড় ডেটা কাঠামোতে হাজার হাজার উপাদান থাকতে পারে এবং একটি বার্তা প্রক্রিয়াকরণে পরিস্থিতি আমরা কয়েক সেকেন্ডে হাজার হাজার ডেটা স্ট্রাকচার প্রক্রিয়াকরণ করতে পারি।
থ্রেডসেফ হওয়ার জন্য প্যারামিটার অ্যারেটি এপিআই পদ্ধতির প্রতিটি অনুরোধের জন্য স্বতন্ত্রভাবে থাকা প্রয়োজন, এবং দক্ষতার জন্য কলব্যাকের প্রতিটি অনুরোধের জন্য একই ব্যবহার করা উচিত; আমার একটি দ্বিতীয় অবজেক্টের প্রয়োজন ছিল যা অনুরোধের জন্য প্যারামিটার অ্যারের সাথে কলব্যাককে আবদ্ধ করার জন্য তৈরি করা সস্তা। তবে, কিছু পরিস্থিতিতে, আমন্ত্রণকারীটির অন্যান্য কারণে ইতিমধ্যে একটি প্যারামিটার অ্যারে থাকবে। এই দুটি কারণে প্যারামিটার অ্যারে কলব্যাক অবজেক্টে অন্তর্ভুক্ত ছিল না। এছাড়াও অনুরোধের পছন্দ (একটি অ্যারের হিসাবে বা স্বতন্ত্র বস্তু হিসাবে প্যারামিটারগুলি পাস করা) API এর হাতে কলব্যাক ব্যবহার করে এটির অভ্যন্তরীণ কাজের জন্য উপযুক্ত যাহার প্রার্থনাটি সবচেয়ে উপযুক্ত উপযুক্ত তা কলব্যাকটি ব্যবহার করে using
উইথপার্মস নেস্টেড ক্লাস, তারপরে, এটি alচ্ছিক এবং দুটি উদ্দেশ্যে পরিবেশন করে, এতে কলব্যাক অনুরোধগুলির জন্য প্রয়োজনীয় প্যারামিটার অবজেক্ট অ্যারে রয়েছে এবং এটি 10 ওভারলোডেড ইনভোক () পদ্ধতিগুলি (1 থেকে 10 পরামিতি সহ) সরবরাহ করে যা প্যারামিটার অ্যারে লোড করে এবং তারপরে কলব্যাক লক্ষ্য প্রার্থনা করুন।