TGViewer
C# Geeks (.NET) C# Geeks (.NET) @csharpgeeks · 548 subscribers
Post #85 116
💡 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 شما بعداً ازتون تشکر خواهند کرد. 😉
More from @csharpgeeks
  1. Sep 22, 2026یه مدتی قراره از دنیای NET. فاصله بگیرم، چون وقتشه برم سربازی. راستش نمیدونم این مدت رو چج…
  2. Sep 20, 2026🔥 حالا مشکل اصلی: Alert Storm فرض کن Database از دسترس خارج شده. ۱۰۰ Pod داری. هر Pod می‌…
  3. Sep 20, 2026🚨 طراحی سیستم Monitoring و Alerting در یک سیستم بزرگ فرض کن ساعت ۳ صبح است. سیستم شما با…
  4. Sep 19, 2026#Engineering_Leadership تصمیم نگرفتن هم یک تصمیم است یه چیز عجیب توی تیم‌های مهندسی: گاهی…
  5. Sep 19, 2026☑ چک‌لیست آماده‌سازی تیم، فرایندها و زیرساخت برای توسعه با AI توجه: هیچ چک‌لیستی جهان‌شمول…
  6. Sep 19, 2026📌پایان یک انتظار طولانی: اعتبارسنجی ناهمگام (Async Validation) در NET 11.
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →