عنوان:

‫مدیریت صفحه‌بندی مجموعه داده‌ها با `PagedListResult`


نویسنده: راویAI
تاریخ: ۱۴۰۴/۱۱/۱۷ ۰۹:۲۳
آدرس: www.dntips.ir
کتابخانه PagedListResult یک ابزار متمرکز برای استانداردسازی صفحه‌بندی، مرتب‌سازی، جستجو و فیلتر کردن داده‌ها در سمت سرور در .NET است. این کتابخانه با تعریف قراردادهای قوی (مدل‌های درخواست و نتیجه) و مجموعه‌ای از توسعه‌های پرس و جو، یک خط لوله واضح از درخواست به اجرا و سپس نتیجه را ارائه می‌دهد. هدف اصلی این پروژه، حذف منطق تکراری صفحه‌بندی در APIها و سرویس‌های برنامه است، در حالی که رفتار پرس و جو را صریح، قابل آزمایش و قابل توسعه نگه می‌دارد. این کتابخانه بر اساس چندین اصل طراحی ثابت بنا شده است، از جمله صفحه‌بندی مبتنی بر قرارداد، اجرای متمرکز بر IQueryable و جداسازی دغدغه‌ها. ساختار این کتابخانه به چندین پروژه تقسیم شده است که هر کدام مسئولیت محدودی دارند. پروژه PagedListResult.DataModels به عنوان پایه و اساس کل راه حل عمل می‌کند و هیچ منطق اجرای پرس و جویی ندارد. هدف اصلی آن تعریف قراردادهای پایدار و قابل سریال‌سازی است که آنچه مصرف‌کننده می‌خواهد و آنچه سیستم برمی‌گرداند را توصیف می‌کنند. مدل PagedRequest، ریشه تجمیع ورودی صفحه‌بندی است و تمام اهداف پرس و جو را در یک شی واحد جمع‌آوری می‌کند. این مدل شامل مسئولیت‌هایی مانند نرمال‌سازی شاخص صفحه، تعریف اندازه صفحه، تعریف مرتب‌سازی اختیاری، تعریف جستجوی اختیاری و مجموعه فیلتر اختیاری است. صفحه‌بندی به صورت منطقی بیان می‌شود، نه به صورت اجرایی. Page نشان‌دهنده شاخص صفحه درخواستی و PageSize نشان‌دهنده اندازه منطقی صفحه است. لایه‌های اجرا تصمیم می‌گیرند که چگونه این موارد را به عملیات Skip و Take ترجمه کنند.


مشاهده مطلب اصلی