আমার যখন কোনও ফাংশন রয়েছে যা হয়ত নির্দিষ্ট পরামিতি গ্রহণ করতে পারে বা নাও পেতে পারে, তখন ফাংশনটি ওভারলোড করা বা orচ্ছিক আরোগুলি যুক্ত করা ভাল?
প্রত্যেকের যদি এর উত্থান-পতন হয় - আমি কখন ব্যবহার করব?
আমার যখন কোনও ফাংশন রয়েছে যা হয়ত নির্দিষ্ট পরামিতি গ্রহণ করতে পারে বা নাও পেতে পারে, তখন ফাংশনটি ওভারলোড করা বা orচ্ছিক আরোগুলি যুক্ত করা ভাল?
প্রত্যেকের যদি এর উত্থান-পতন হয় - আমি কখন ব্যবহার করব?
উত্তর:
ভাষা যদি তাদের যথাযথভাবে সমর্থন করে (যেমন প্রকারের সুরক্ষা, প্রযোজ্য ক্ষেত্রে), তবে আমি নিম্নলিখিত কারণে alচ্ছিক যুক্তিগুলি পছন্দ করব:
a
, b
এবং c
এই সম্ভাবনা রয়েছে: কিছুই নয়, এ, বি, সি, আব, এসি, বিসি, এবিসি। এটি 2^n
বিভিন্ন ধরণের জন্য, নাn!
একজন নির্মাতার ধরণের পরিস্থিতি ধরে নেওয়া: অনেক অপশন সহ পরিস্থিতি রোধ করতে আমি প্রায়শই সাবলীল নির্মাতা প্যাটার্নটি পছন্দ করি।
যেমন। Ordering.natural().onResultOf(function).reverse().compound(Ordering.natural().onResultOf(function2))
পেয়ারাতে প্রয়োগ করা সাবলীল নির্মাতা ইন্টারফেসকে কল করার একটি উদাহরণ।
অবশ্যই আপনার বিল্ডারের অবস্থা ধরে রাখার জন্য এখন আপনার একটি পৃথক বস্তুর প্রয়োজন, তবে আপনি নির্মাণের আচরণ থেকে নির্মাণের আচরণকে আলাদা করে সামগ্রিক জটিলতা হ্রাস করেন।