Skip to content

کلاس ReserveBookingCommand

این کلاس مسئولیت ایجاد یک رزرو جدید را بر عهده دارد. این کلاس از الگوی CQRS پیروی می‌کند و به عنوان یک Command عمل می‌کند.

ویژگی‌های کلیدی

  1. ایجاد رزرو:
    • شامل اطلاعات آپارتمان، کاربر و تاریخ‌ها
    • استفاده از الگوی Command برای جداسازی مسئولیت‌ها

ساختار کد

csharp
public record ReserveBookingCommand(Guid ApartmentId, Guid UserId, DateOnly StartDate, DateOnly EndDate) : ICommand<Guid>;

نحوه کار

  1. دریافت اطلاعات:

    • دریافت اطلاعات رزرو شامل شناسه آپارتمان، کاربر و تاریخ‌ها
    • آماده‌سازی داده‌ها برای پردازش
  2. ارسال به Handler:

    • ارسال Command به CommandHandler مربوطه برای پردازش

مزایای این طراحی

  1. جداسازی مسئولیت‌ها:

    • هر کلاس تنها یک وظیفه مشخص دارد
    • رعایت اصل Single Responsibility
  2. قابلیت تست‌پذیری بالا:

    • امکان تست Command به صورت مجزا
    • افزایش قابلیت اطمینان سیستم

Alireza Abasi - Released under the MIT License.