کلاس SearchApartmentsQuery
این کلاس مسئولیت جستجوی آپارتمانها بر اساس تاریخهای مشخص شده را بر عهده دارد. این کلاس از الگوی CQRS پیروی میکند و به عنوان یک Query عمل میکند.
ویژگیهای کلیدی
- جستجوی آپارتمانها:
- شامل تاریخ شروع و پایان برای جستجو
- استفاده از الگوی Query برای جداسازی مسئولیتها
ساختار کد
csharp
public sealed record SearchApartmentsQuery(DateOnly StartDate, DateOnly EndDate) : IQuery<IReadOnlyList<ApartmentResponse>>;
نحوه کار
دریافت اطلاعات:
- دریافت تاریخهای شروع و پایان برای جستجو
- آمادهسازی دادهها برای پردازش
ارسال به Handler:
- ارسال Query به QueryHandler مربوطه برای پردازش
مزایای این طراحی
جداسازی مسئولیتها:
- هر کلاس تنها یک وظیفه مشخص دارد
- رعایت اصل Single Responsibility
قابلیت تستپذیری بالا:
- امکان تست Query به صورت مجزا
- افزایش قابلیت اطمینان سیستم