با تشکر؛
آیا الزامی برای این نوع کپسوله سازی وجود دارد؟ در واقع با داشتن انتزاعی برروی کتابخانه Microsoft.Extensions.Caching.Abstraction به این شکل، تنها با یک واسط ICacheService چه چیز اضافی را بدست خواهیم آورد؟ حال اگر تعویض پذیر بودن مد نظر میباشد، در صورت نیاز به دو نسخه توزیع شده و درون حافظه ای به صورت یکجا، داشتن یک واسط جوابگو نخواهد بود مگر با استفاده از الگوی Abstract Factory یا امکانات پیشرفته IoC Containerهای ثالث برای تعیین این مورد که برای یک واسط یکتا، کدام نوع کش را وهله سازی کند.
آیا داشتن دو واسط متمایز به عنوان مثال ICacheService و IDistributedCacheService هم کار اضافی نمیباشد؟
با توجه به اینکه در توضیحات مخزن گیت این مجموعه اشاره شده است به کپسوله سازی امکانات IMemoryCache، که در این صورت برای استفاده از کتابخانه Microsoft.Extensions.Logging هم نیاز به انتزاعی جدید خواهد بود و همچنین سایر کتابخانه ها. یا اگر نکته مربوط به متد GetOrAdd و داشتن یکسری متد جدید مدنظر بود؛ میتوان با یکسری متد الحاقی هم به این اهداف رسید.