Skip to content

نمای کلی لایه Application

لایه Application در سیستم Bookify مسئول مدیریت منطق کاربردی و پردازش درخواست‌ها است. این لایه از الگوهای مختلفی مانند CQRS و Dependency Injection برای جداسازی مسئولیت‌ها و افزایش تست‌پذیری استفاده می‌کند.

اجزای کلیدی

  1. Bookings:

    • مدیریت رزروها شامل ایجاد، لغو، تایید و تکمیل رزروها
    • استفاده از Command و CommandHandler برای پردازش درخواست‌ها
  2. Behaviors:

    • مدیریت رفتارهای مشترک مانند اعتبارسنجی و ثبت لاگ‌ها
    • استفاده از MediatR برای مدیریت رفتارهای مشترک
  3. Exceptions:

    • مدیریت خطاهای سیستم شامل خطاهای اعتبارسنجی و همزمانی
    • استفاده از کلاس‌های اختصاصی برای مدیریت خطاها
  4. Apartments:

    • مدیریت جستجوی آپارتمان‌ها و ارائه اطلاعات مربوط به آن‌ها
    • استفاده از Query و QueryHandler برای پردازش درخواست‌ها
  5. Abstractions:

    • تعریف اینترفیس‌ها و قراردادهای مشترک برای مدیریت وابستگی‌ها و پردازش درخواست‌ها
    • استفاده از الگوی Dependency Injection برای مدیریت وابستگی‌ها

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

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

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

    • امکان تست بخش‌های مختلف سیستم به صورت مجزا
    • افزایش قابلیت اطمینان سیستم
  3. مدیریت متمرکز وابستگی‌ها:

    • استفاده از الگوی Dependency Injection برای مدیریت وابستگی‌ها
    • کاهش وابستگی‌های سخت‌کد شده

Alireza Abasi - Released under the MIT License.