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٪این مطلب مفید بود؟
☆نشان کردن