کلاس ReserveBookingCommand
این کلاس مسئولیت ایجاد یک رزرو جدید را بر عهده دارد. این کلاس از الگوی CQRS پیروی میکند و به عنوان یک Command عمل میکند.
ویژگیهای کلیدی
- ایجاد رزرو:
- شامل اطلاعات آپارتمان، کاربر و تاریخها
- استفاده از الگوی Command برای جداسازی مسئولیتها
ساختار کد
csharp
public record ReserveBookingCommand(Guid ApartmentId, Guid UserId, DateOnly StartDate, DateOnly EndDate) : ICommand<Guid>;
نحوه کار
دریافت اطلاعات:
- دریافت اطلاعات رزرو شامل شناسه آپارتمان، کاربر و تاریخها
- آمادهسازی دادهها برای پردازش
ارسال به Handler:
- ارسال Command به CommandHandler مربوطه برای پردازش
مزایای این طراحی
جداسازی مسئولیتها:
- هر کلاس تنها یک وظیفه مشخص دارد
- رعایت اصل Single Responsibility
قابلیت تستپذیری بالا:
- امکان تست Command به صورت مجزا
- افزایش قابلیت اطمینان سیستم