লোকেরা অপ্রয়োজনীয়ভাবে প্রতিবিম্ব ব্যবহার করতে সতর্ক হওয়ার কারণটি সম্পাদন নয়: হ্যাঁ, প্রতিবিম্বটি ব্যবহার করার ক্ষেত্রে কিছু ওভারহেড রয়েছে, তবে প্রায়শই, সমস্যাটি সমাধান না করে তুলনীয় জটিলতার সাথে আলাদা পদ্ধতির প্রয়োজন হয়, এবং তা না হলেও ওভারহেড হয় খুব কমই তাৎপর্যপূর্ণ (বিশেষত অ্যাপ্লিকেশন-স্তরের বিকাশের জন্য)।
প্রতিবিম্ব ব্যবহার করে, উত্স কোড সম্পর্কে কেউ সাধারণত তৈরি করতে পারে এমন কয়েকটি গুরুত্বপূর্ণ অনুমানগুলি ভেঙে যায় এবং "সমস্ত রেফারেন্সগুলি অনুসন্ধান করুন" এর মতো সরঞ্জামগুলি নির্ভরযোগ্যভাবে কাজ করা বন্ধ করে দেয়। প্রতিফলনটি মূলত সংকলক প্রয়োগ করে, সি # বলে, এবং টাইপ সিস্টেমটি সাধারণত সংকলক ত্রুটিগুলিতে ধরা এবং অনুবাদ করতে পারে এমন বেশিরভাগ প্রোগ্রামিং ত্রুটিগুলি মুছে ফেলে, এখন রানটাইম ত্রুটি হয়ে ওঠে সবচেয়ে খারাপ বা খুব অস্পষ্ট বাগগুলি worst
তাহলে লোকেরা কেন তখন প্রতিবিম্ব ব্যবহার করে? সোজা কথায়, কারণ উপরে বর্ণিত সমস্যা থাকা সত্ত্বেও, এটি একটি অত্যন্ত মূল্যবান সরঞ্জাম। প্রতিবিম্বের সাথে ডায়নামিক প্রোগ্রামিংয়ের কিছু উপকারিতা সি # এর মতো একটি স্ট্যাটিক, কঠোরভাবে টাইপ করা ভাষায় থাকতে পারে এবং ডায়নামিক প্রোগ্রামিং ল্যাঙ্গুয়েজগুলি সম্প্রতি তাদের দক্ষতা প্রদর্শন করেছে, বিশেষত ওয়েব প্রোগ্রামিংয়ের ক্ষেত্র - পিএইচপি, জাভাস্ক্রিপ্ট, এবং বেশ সুস্পষ্টভাবে পাইথনকে , সকলেই ডায়নামিক টাইপিং ব্যবহার করে এবং ওয়েব প্রোগ্রামিংয়ের জন্য উপযুক্ত বলে প্রমাণিত। তবে ভাষাটি এখনও সি # হওয়ায় আপনি আপনার বেশিরভাগ অ্যাপ্লিকেশনটিকে কঠোরভাবে টাইপ করা ওওপি আইডিয়োমে রাখতে বেছে নিতে পারেন এবং ছোট অংশটি লিখতে পারেন যেখানে ডায়নামিক আচরণটি প্রতিচ্ছবিতে সত্যই পার্থক্য করে।
একটি সাধারণ উদাহরণ হ'ল যখন আপনাকে ওয়েব পরিষেবা কল হিসাবে পদ্ধতিগুলি উদ্ঘাটিত করতে হবে (প্রোটোকলটি এখনও। নেট মধ্যে অন্তর্নির্মিত নয়) ব্যবহার করতে হবে। কঠোরভাবে টাইপযুক্ত ওওপি পদ্ধতি কাজ করে তবে এটি অত্যধিক সীমাবদ্ধ এবং আনাড়ি। তবে আপনি যদি পদ্ধতিগুলিতে কলগুলি এবং কী / মান জোড় যুক্তিগুলিতে মানচিত্রের প্রতিচ্ছবি ব্যবহার করেন, আপনি একবার এই জাতীয় ওয়েব সার্ভিসের জন্য নদীর গভীরতানির্ণয়টি লিখতে পারেন এবং তারপরে এটি আপনার পছন্দ মতো কোনও ক্লাসে ব্যবহার করতে পারেন।