سوء تفاهم در رابطه با الگوی Repository
شنبه 10 تیر 1402
عُلَما، فُضَلا، عُقَلا، عُرَفا، و غیره...
اگر میپندارید الگوی Repository به شما اجازه میدهد عملیات Insert، Update، Delete را پشت انتزاع1 آن مخفی نموده و با ایجاد متدهایی این عملیات را از طریق Repository انجام دهید، سخت در اشتباهید.
برای فهم الگوی Repository به کتابهای معروف Martin Fowler2 و Eric Evans3 مراجعه نمایید.
صرفاً جهت راحتی شما، تعریف Repository از مرجع دوم:
Repository: A mechanism for encapsulating storage, retrieval, and search behavior which emulates a collection of objects.
ترجمهء غیر تحتاللفظی:
سازوکاری جهت مخفی سازی مخزن داده، بازیابی از آن، و جستجو در آن، در قالبی مشابه مجموعهای از اشیاء.
در هیچ کدام صحبتی از اینکه این الگو میبایست امکان «درج»، «بروز رسانی»، و «حذف» داشته باشد، نشده.
- Abstraction
- Martin Fowler (2003) Patterns of Enterprise Application Architecture. Addison Wesley
- Eric Evans (2004) Domain Driven Design (Foreword by Martin Fowler). Addison Wesley