Nima Domain-Driven Design
Biznes domeniga asoslangan dizayn
DDD nima
Domain-Driven Design (DDD) — biznes domenini modellashtirish va dasturchilar bilan domen mutaxassislari o'rtasidagi yaqin hamkorlikka qaratilgan dasturiy ta'minot ishlab chiqish yondashuvi.
Strategik dizayn
| Tushuncha | Tavsif | |-----------|--------| | Bounded Context | Universal til bilan model chegaralari | | Ubiquitous Language | Jamoa va biznesning umumiy tili | | Context Map | Kontekstlar orasidagi munosabatlar xaritasi | | Subdomain | Subdomen (Core/Supporting/Generic) |
Taktik dizayn
| Pattern | Maqsad | |---------|--------| | Entity | Identifikatsiyaga ega ob'ekt | | Value Object | O'zgarmas qiymat ob'ekti | | Aggregate | Bog'liq entitylar guruhi | | Aggregate Root | Aggregatega kirish nuqtasi | | Repository | Aggregatlarga kirish | | Domain Service | Entitylar tashqarisidagi biznes mantiq | | Domain Event | Domendagi voqea | | Factory | Murakkab ob'ektlarni yaratish |
Subdomen turlari
- Core Domain — raqobat ustunligi
- Supporting Subdomain — core'ni qo'llab-quvvatlaydi
- Generic Subdomain — standart yechimlar
Integratsiya patternlari
| Pattern | Tavsif | |---------|--------| | Shared Kernel | Kontekstlar orasida umumiy yadro | | Customer-Supplier | Mijoz-yetkazib beruvchi munosabati | | Conformist | Upstream modelga muvofiqlik | | Anticorruption Layer | Tashqi modellardan himoya | | Open Host Service | Kontekstning ochiq API |
DDD qachon qo'llaniladi
- Murakkab biznes mantiq
- Uzoq muddatli loyiha
- Domen mutaxassislariga kirish
- Dizaynga sarmoya kiritishga tayyor jamoa