ডার্ট প্রোগ্রামিংয়ের খুবই মজাদার টপিক Mixin কি? কেন? কিভাবে ?
Mixin হল একাদিক class কে ইনহেরিট করে পূনরায় ব্যবহার করার মাধ্যম। Mixin সত্যিই Dart Programming language এর খুবই মজাদার টপিক। Java and C# Background থেকে মূলত ডার্টে মিক্সিনের আভির্বাব। ডার্টের ২.০০ ভার্সনে মিক্সিন নিয়ে আসা হয়। আর মিক্সিন ব্যবহারের মাধ্যমে আমরা Code Duplication কে Avoid করতে পারি। এইতো গেল প্রাথমিক কথাবার্তা, তাহলে মূল আলোচনায় আসি - প্রথমেই প্রশ্ন জাগে Mixin আমরা কেন ব্যবহার করব? সঙ্গা থেকে হয়ত অনেকে বুঝে গেছেন। যারা বুঝেন নাই, তাদের নিরাশ হওয়ার কিছু নাই - চলুন তাদের জন্য একটি উদাহরণ দেখি। ধরুন আপনার তিনটি আলাদা বৈশিষ্ট্যের গাড়ি আছে। Gasoline, Electric & Hybrid Car । এখন Hybrid Car এ যে সব ফাংশনালিটি কিনবা বৈশিষ্ট্য আছে সেগুলোর কিছু Gasoline Car এবং কিছু Electric Car আছে। এখন আমরা যদি তিনটি গাড়িকে ক্লাস হিসাবে এবং তাদের ফাংশনালিটি গুলো দিয়ে কোড লিখে ফেলি-
কোডটিতে আমারা GesolineCar এবং ElectricCar কে HybridCar দ্বারা inherit করেছি। যার ফলে কোডটিতে এরর দেখাচ্ছে। কারন আমরা জানি ডার্টে মাল্টিপল ইনহেরিটেন্স সার্পোট করে না৷ তাহলে এখন উপায়? হ্যা, এই সমস্য কে সমাধান করার জন্যই ডার্টে mixin এর আগমন। এখন GesolineCar ক্লাসের class keyword এর পরিবর্তে mixin keyword এবং ElectricCar ক্লাসের class keyword এর পরিবর্তে mixin keyword ব্যবহার করি এবং HybridCar ক্লাসের মধ্যে উভয়কে inherit করার জন্য extands keyword এর পরিবর্তে with keyword ব্যবাহার করি৷ তাহলে কোডটি হবে নিচের মত -
এই কোডটি কোন এরর দেখাচ্ছে না। আর এটি ঠিকঠাক মত রানও করবে। তাহলে উপরুক্ত আলোচনা থেকে আশা করি মিক্সিং নিয়ে আপনাদের ধারনা পরিষ্কার হয়েছে। এখন আমাদের সফটওয়্যারের যখন একদিক ক্লাসের বৈশিষ্ট্য একটি ক্লাসে ব্যাবহার করা প্রয়োজন হবে ঠিক তখনি আমরা মিক্সিং ব্যাবহার করব। মনে রাখবেন Mixin class এর কোন constructor নেই।
*********** Happy Programming ***********
https://mehedihasaninfo.com/
ধন্যবাদ
ReplyDeleteYou are welcome
DeleteWell written bro... ❤
ReplyDeleteThank you
DeleteThank you
DeleteThank you
DeleteNice work.
ReplyDeleteThanks
Delete