Modular Monolith — Cheat Sheet
🎯 يعني إيه Modular Monolith؟ تطبيق واحد Deploy واحد Runtime واحد متقسم داخليًا لوحدات (Modules) مستقلة فكّر فيه: Microservices في الدماغ Monolith في التنفيذ 🧩 التقسيم الصح ❌ Controllers / Services / Repositories ✅ Business Capabilities Orders | Inventory | Billing | Users | Notifications كل Module: مسؤولة عن Business واحد مالكة منطقها وداتاها 📁 Folder Structure النموذجي Module ├─ Application (Use cases) ├─ Domain (Entities, Rules) ├─ Infrastructure (DB, Repos) ├─ API (Controllers) └─ Module.cs (Registration) 🔒 القواعد الذهبية ❌ مفيش Module تكلم DB بتاعة غيرها ❌ مفيش Classes مشتركة عشوائي ✅ التواصل يتم من خلال API أو Events فقط 🔁 طرق التواصل 1️⃣ Synchronous (Direct Call) Interface Dependency Injection In-memory Fast 📌 استخدمه: Core business Reads عمليات لازم ترجع فورًا ⚠️ عيبه: Strong Coupling Cascading Failures 2️⃣ Asynchronous (Messaging) Events / Commands Fire-and-forget Message Contracts 📌 استخدمه: Side Effects Integrations Fault Isolation ⚠️ عيبه:...