CodeShot
Clean Architecture1 دقیقه مطالعه

Clean Architecture چیست؟

معماری‌ای که هسته کسب‌وکار (Domain) را از جزئیات فنی مثل دیتابیس و فریمورک جدا می‌کند.

چرا مهم است؟

با این جداسازی، تغییر دیتابیس یا فریمورک بدون دست‌کاری منطق اصلی برنامه ممکن می‌شود و تست‌نویسی هسته برنامه بسیار ساده‌تر است.

لایه‌ها

Presentation -> Application -> Domain <- Infrastructure

جهت وابستگی همیشه رو به داخل (Domain) است؛ Domain به هیچ لایه دیگری وابسته نیست.

نکات مهم

  • Domain فقط شامل موجودیت‌ها و قواعد کسب‌وکار است.
  • Infrastructure جزئیات را پیاده می‌کند (Dapper، SQL Server، JWT) اما پشت Interfaceهای تعریف‌شده در Application.

اشتباه رایج

❌ تزریق مستقیم DbContext/Connection در Domain. ✅ تعریف Interface در Application و پیاده‌سازی آن در Infrastructure.

خلاصه

Clean Architecture هسته برنامه (Domain) را مستقل از فریمورک و دیتابیس نگه می‌دارد. جهت وابستگی همیشه به‌سمت Domain است. این جداسازی تست‌پذیری و انعطاف بلندمدت پروژه را تضمین می‌کند.

حالا امتحان کن

🧩آزمون Clean Architecture6 سؤال · نمره قبولی 60٪
این مطلب مفید بود؟
نشان کردن
مشاهده در Concept Hub ←