আমি মনে করি আপনি যে কোনওটি ব্যবহার করতে পারেন তবে প্রত্যেকটির একটি ব্যবহার রয়েছে। মূলত Listএটি IEnumerableকিন্তু আপনার কার্যকারিতা গণনা করতে হবে, উপাদান যুক্ত করুন, উপাদানটি সরান
উপাদানগুলি গণনা করার জন্য IEnumerable দক্ষ নয়
সংগ্রহে কেবলমাত্র হতে উদ্দেশ্যে করা হয়, অথবা সংগ্রহে পরিবর্তনের দ্বারা নিয়ন্ত্রিত হয় তাহলে Parentতারপর ফিরে IListঠিক Countএকটি ভাল ধারণা নয়।
লিন্কে, একটি Count()এক্সটেনশন পদ্ধতি রয়েছে IEnumerable<T>যার উপর ভিত্তি .Countকরে অন্তর্নিহিত প্রকারটি যদি সিএলআরের অভ্যন্তরে শর্টকাট হয় তবে IListপারফরম্যান্সের পার্থক্য নগণ্য।
সাধারণত আমি মনে করি (মতামত) যেখানে সম্ভব সেখানে ফিরিয়ে দেওয়া ভাল অনুশীলন, যদি আপনাকে সংযোজন করা প্রয়োজন হয় তবে এই পদ্ধতিগুলি পিতামাত্ত শ্রেণীর সাথে যুক্ত করুন, অন্যথায় গ্রাহক তখন মডেলের মধ্যে সংগ্রহ পরিচালনা করছেন যা নীতিগুলি লঙ্ঘন করে, যেমন manufacturer.Models.Add(model)আইন লঙ্ঘন করে ডিমেটার অবশ্যই এগুলি কেবল গাইডলাইন এবং কঠোর এবং দ্রুত নিয়ম নয়, তবে যতক্ষণ না আপনার প্রয়োগের সম্পূর্ণ গ্রাসপস হয়, ততক্ষণ অন্ধভাবে অনুসরণ করা মোটেও অনুসরণ না করার চেয়ে ভাল।
public interface IManufacturer
{
IEnumerable<Model> Models {get;}
void AddModel(Model model);
}
(দ্রষ্টব্য: এনএনহাইবারনেট ব্যবহার করা হলে আপনাকে বিভিন্ন অ্যাক্সেসর ব্যবহার করে ব্যক্তিগত আইলিস্টে মানচিত্রের প্রয়োজন হতে পারে))