💡 10 فرمان برای معماری تمیز در ASP.NET Core
کد تمیز مساوی است با یک سیستم مقیاسپذیر. این قوانین معماری رو دنبال کنید تا پروژهتون قابل نگهداری (maintainable) و توسعهدهندهپسند (developer-friendly) باقی بمونه.
1️⃣ از تزریق وابستگی (DI) همهجا استفاده کنید - هرگز سرویسهاتون رو با new نسازید.
2️⃣ کنترلرهاتون رو لاغر نگه دارید، منطق اصلی رو به لایه سرویس منتقل کنید.
3️⃣ مسئولیتها رو با استفاده از اینترفیسها و اصول SOLID جدا کنید.
4️⃣ برای جداسازی منطق خواندن/نوشتن، از الگوی CQRS استفاده کنید.
5️⃣ هرگز از داخل کنترلر مستقیماً به دیتابیس دسترسی پیدا نکنید - همیشه از طریق یک Repository یا سرویس این کار رو انجام بدید.
6️⃣ برای شکلدهی به دادهها بین لایهها، از DTO ها استفاده کنید - از ارسال مستقیم Entityهای دیتابیس به بیرون خودداری کنید.
7️⃣ اعتبارسنجی (Validation) رو با کتابخانههایی مثل FluentValidation یا DataAnnotations اضافه کنید - هرگز کورکورانه به دادههای ورودی اعتماد نکنید.
8️⃣ برای دغدغههای مشترک (cross-cutting concerns) مثل لاگینگ، مدیریت خطا و CORS، از Middleware ها استفاده کنید.
9️⃣ پروژهتون رو به لایهها ساختاربندی کنید: API، Application، Domain، Infrastructure.
🔟 برای سرویسهاتون Unit Test بنویسید - اگه تست کردن یه تیکه کد سخت باشه، اون کد یه بوی بدی میده (code smell)!
این قوانین رو دنبال کنید و اپلیکیشنهای .NET Core شما بعداً ازتون تشکر خواهند کرد. 😉