আমি মনে করি তার উপস্থাপনায় 13 টি স্লাইড ( মূল্যবোধের মান ) এটি বুঝতে সহায়তা করে:
মানগুলি
- না প্রয়োজন পদ্ধতি
- আমি কোড ছাড়াই আপনাকে মান পাঠাতে পারি
এবং আপনি ভাল আছেন
আমার বোঝাপড়াটি হিকির পরামর্শ দেয় যে, আমাকে যদি আপনি যে মূল্য পাঠিয়েছেন তার দ্বিগুণ করার দরকার হয় তবে আমি কেবল কোডটির মতো দেখতে লিখি
MyValue = Double(YourValue)
আপনি দেখতে পাচ্ছেন, উপরের কোডটি সমান, আপনি যে ধরণের মান প্রেরণ করেছেন তা বিবেচনাধীন নয় - একটি নিখুঁত পুনঃব্যবহারের সাজান ।
এখন, ভাষাতে এটির মতো দেখতে কীভাবে বস্তু এবং ইন্টারফেস থাকবে?
Doublable MyValue = YourValue.Double()
অপেক্ষা কর! YourValue
বাস্তবায়ন না হলে কি হবে Doublable
? এটি দ্বিগুণ করা যাবে না, এটি পুরোপুরি হতে পারে তবে ... যদি কেবল কোনও পদ্ধতি না থাকে তবে Double
? (যদি বলার মতো কোনও পদ্ধতি থাকে তবে কী হবে TwiceAsMuch
?)
ওহ, আমরা একটি সমস্যা পেয়েছি। YourValue.Double
কাজ করবে না, এটি আর পুনরায় ব্যবহার করা যাবে না। আমার উপরের স্লাইডগুলি পড়ার জন্য, হিকির অর্থ এই ছিল যে তিনি যখন বলেছিলেন, "এই সমস্ত ইন্টারফেসগুলি আপনার পুনরায় ব্যবহারকে মেরে ফেলে!"
আপনি দেখুন, ইন্টারফেসগুলি ধরে নিয়েছে যে বস্তুগুলি "তাদের পদ্ধতিগুলি সহ" এর সাথে চালিত কোডের সাথে পাশ করে চলেছে। অবজেক্টগুলি ব্যবহার করার জন্য, সেই কোডটি কীভাবে ডাকতে হবে, কোন পদ্ধতিটি কল করতে হবে তা বুঝতে হবে।
যখন প্রত্যাশিত পদ্ধতিটি অনুপস্থিত থাকে, তখন সমস্যা রয়েছে, যদিও শব্দার্থগতভাবে , পছন্দসই ক্রিয়াকলাপ কোনও সামগ্রীর জন্য সঠিক ধারণা তৈরি করে makes উপস্থাপনে যেমন বলা হয়েছে, মানগুলির কোনও পদ্ধতির প্রয়োজন নেই ("আমি কোড ছাড়াই আপনাকে মানগুলি পাঠাতে পারি এবং আপনি ভাল"), তাদের সাথে জেনারিক পদ্ধতিতে আচরণের কোড লিখতে দেয়।
পার্শ্ব দ্রষ্টব্য: কোড-কম মানগুলি অতিক্রম করার ধারণাটি কোনওভাবে আমাকে ওওপিতে একটি ফ্লাইওয়েট ধরণের স্মরণ করিয়ে দেয় ।
এমন একটি বস্তু যা অন্যান্য অনুরূপ সামগ্রীর সাথে যথাসম্ভব ডেটা ভাগ করে মেমরির ব্যবহারকে হ্রাস করে; কোনও সাধারণ পুনরাবৃত্ত উপস্থাপনা যখন অগ্রহণযোগ্য পরিমাণ মেমরি ব্যবহার করে তখন বড় সংখ্যায় অবজেক্টগুলি ব্যবহার করার এটি একটি উপায় ... ফ্লাইওয়েট অবজেক্টগুলি সংজ্ঞা মানের অবজেক্টগুলির দ্বারা হয় । অবজেক্টের উদাহরণটির পরিচয় কোনও ফলস্বরূপ নয় তাই একই মানের দুটি ফ্লাইওয়েট দৃষ্টান্তকে সমান হিসাবে বিবেচনা করা হয় ...
ফ্লাইওয়েট ব্যবহারগুলি আমি সাধারণত দেখেছি যে কোডগুলি (পদ্ধতি, ইন্টারফেস) থেকে বস্তুগুলি কাছাকাছি ফেলা এবং চারপাশে স্টাফ পাস করার একই পদ্ধতি অনুসরণ করা হয়েছে, পাশাপাশি কোড-কম মান , আশা করা যায় যে কোড প্রাপ্তিগুলির এগুলি পরিচালনা করার প্রয়োজনীয় উপায় রয়েছে expect
এটি স্লাইডের মতোই বেশ অনুভূত হয়, "মানগুলির কোনও পদ্ধতির দরকার নেই code আমি আপনাকে কোড ছাড়াই মানগুলি পাঠাতে পারি এবং আপনি ভাল"।