আমাকে কেবল একটি ওআরএম পরিবর্তন করতে হয়েছিল এবং এটি একটি তুলনামূলকভাবে কঠিন কাজ ছিল কারণ ক্যোয়ারী যুক্তিটি সর্বত্র ফাঁস হয়ে যাচ্ছিল। যদি আমাকে কোনও নতুন অ্যাপ্লিকেশন বিকাশ করতে হয় তবে আমার ব্যক্তিগত পছন্দটি হ'ল পরিবর্তনের জন্য ভবিষ্যতের প্রতিরোধে সমস্ত ক্যোয়ারী যুক্তি (একটি ওআরএম ব্যবহার করে) সজ্জিত করা। কোড এবং রক্ষণাবেক্ষণের জন্য সংগ্রহস্থল প্যাটার্নটি বেশ ঝামেলাযুক্ত তাই আমি ভাবছিলাম যে সমস্যার সমাধান করার জন্য অন্য কোনও নিদর্শন আছে কিনা?
অতিরিক্ত জটিলতা না দেওয়ার বিষয়ে পোস্টগুলি আগে থেকেই জানতে পারি এটির প্রয়োজনের আগে, চটপটে হওয়া ইত্যাদি but তবে আমি কেবল বিদ্যমান প্যাটার্নগুলি সম্পর্কে একটি সরল উপায়ে অনুরূপ সমস্যা সমাধানের বিষয়ে আগ্রহী।
আমার প্রথম চিন্তা ছিল জেনেরিক টাইপ সংগ্রহস্থল, যা আমি বর্ধিত পদ্ধতির মাধ্যমে নির্দিষ্ট ধরণের সংগ্রহস্থল শ্রেণীর জন্য প্রয়োজনীয় পদ্ধতিগুলি যুক্ত করি, তবে ইউনিট টেস্টিং স্ট্যাটিক পদ্ধতিগুলি অত্যন্ত বেদনাদায়ক। অর্থাৎ,
public static class PersonExtensions
{
public static IEnumerable<Person> GetRetiredPeople(this IRepository<Person> personRep)
{
// logic
}
}