ডার্ট প্রোগ্রামিংয়ের খুবই মজাদার টপিক 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/

Comments

Post a Comment

Popular posts from this blog

Business Benefits of Using Flutter Technology

অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং বেসিক কনসেপ্ট

ডার্ট প্রোগ্রামিংয়ের খুবই গুরুত্বপূর্ণ ফিচার Async & Await কি? কেন?

ডার্ট প্রোগ্রামিং ল্যাঙ্গুয়েজ দিয়ে অপ্রত্যাশিত ইভেন্ট বা ঘটনা কিভাবে হ্যান্ডেল করবেন?