Mis on Domain-Driven Design
Äridomeenipõhine disain
Mis on DDD
Domain-Driven Design (DDD) on tarkvaraarendusmeetod, mis keskendub äridomeeni modelleerimisele ja tihedale koostööle arendajate ja domeeniekspertide vahel.
Strateegiline Disain
| Kontseptsioon | Kirjeldus | |---------------|-----------| | Bounded Context | Mudeli piirid kõikjal leviva keelega | | Ubiquitous Language | Meeskonna ja äri jagatud keel | | Context Map | Kontekstide vaheliste suhete kaart | | Subdomain | Alamdomeen (Core/Supporting/Generic) |
Taktikaline Disain
| Muster | Eesmärk | |--------|---------| | Entity | Identiteediga objekt | | Value Object | Muutumatu väärtusobjekt | | Aggregate | Seotud olekute rühm | | Aggregate Root | Agregaadi sisenemispunkt | | Repository | Juurdepääs agregaatidele | | Domain Service | Äriloogika väljaspool olekuid | | Domain Event | Sündmus domeenis | | Factory | Keerukate objektide loomine |
Alamdomeeni tüübid
- Core Domain — konkurentsieelis
- Supporting Subdomain — toetab core'i
- Generic Subdomain — standardlahendused
Integratsioonimustrid
| Muster | Kirjeldus | |--------|-----------| | Shared Kernel | Jagatud tuum kontekstide vahel | | Customer-Supplier | Klient-tarnija suhe | | Conformist | Vastavus ülesvoolu mudelile | | Anticorruption Layer | Kaitse välistest mudelitest | | Open Host Service | Konteksti avalik API |
Millal rakendada DDD
- Keeruline äriloogika
- Pikaajaline projekt
- Juurdepääs domeeniekspertidele
- Meeskond valmis investeerima disaini