আমি পড়া করছি C # এর নকশা প্যাটার্ন এসেনশিয়ালস । আমি বর্তমানে পুনরাবৃত্তি প্যাটার্ন সম্পর্কে পড়ছি।
আমি কীভাবে প্রয়োগ করব তা পুরোপুরি বুঝতে পেরেছি, তবে আমি গুরুত্ব বুঝতে পারি না বা ব্যবহারের ক্ষেত্রেও দেখতে পাই না। বইটিতে এমন একটি উদাহরণ দেওয়া হয়েছে যেখানে কারও কাছে অবজেক্টের একটি তালিকা পাওয়া দরকার। তারা কোনও সরকারী সম্পত্তি যেমন IList<T>
বা একটি হিসাবে প্রকাশ করে এটি করতে পারত Array
।
বইটি লিখেছেন
এটির সাথে সমস্যাটি হ'ল এই উভয় শ্রেণির অভ্যন্তরীণ উপস্থাপনা বাইরের প্রকল্পগুলির কাছে প্রকাশিত হয়েছে।
অভ্যন্তরীণ উপস্থাপনা কি? আসলে এটি একটি array
বা IList<T>
? আমি সত্যিই বুঝতে পারি না কেন এটি কেন গ্রাহক (প্রোগ্রামার এটিকে কল করছে) এটি জানার জন্য খারাপ জিনিস ...
তারপরে বইটি বলেছে যে এই প্যাটার্নটি এর GetEnumerator
ফাংশনটি প্রকাশ করে কাজ করে, তাই আমরা কল করে GetEnumerator()
এইভাবে 'তালিকা' প্রকাশ করতে পারি ।
আমি ধরে নিই যে কিছু পরিস্থিতিতে এই নিদর্শনগুলির একটি জায়গা রয়েছে (সকলের মতো) তবে আমি কোথায় এবং কখন তা দেখতে ব্যর্থ হই।
F
আমার জ্ঞান (পদ্ধতি) দেয় a
, b
এবং c
। সবকিছু ঠিকঠাক এবং ভাল, অনেক কিছুই থাকতে পারে যা আলাদা তবে কেবল F
আমার কাছে। পদ্ধতিটিকে "সীমাবদ্ধতা" হিসাবে মনে করুন বা কোনও চুক্তির ধারাগুলি F
ক্লাস করার জন্য প্রতিশ্রুতিবদ্ধ। মনে করুন যে আমরা কিছুটা যুক্ত করেছি d
কারণ এটি আমাদের প্রয়োজন। এটি অতিরিক্ত বাধা যুক্ত করে, প্রতিবার আমরা যখন এটি করি তখন আমরা এসকে আরও বেশি চাপিয়ে দেই F
। অবশেষে (সবচেয়ে খারাপ ক্ষেত্রে) কেবলমাত্র একটি জিনিস হতে পারে F
তাই আমরা এটি নাও পেতে পারি। এবং F
এতটা বাধা আছে এটি করার একমাত্র উপায় way