Hvad er Domain-Driven Design?
Domain-Driven Design (DDD) er en metode inden for softwareudvikling, som har et særligt fokus på at skabe en tæt kobling mellem forretning og software. I stedet for at tage udgangspunkt i teknologi eller arkitektur alene, begynder man med at forstå den forretningsmæssige kontekst — det såkaldte "domæne" — og designe softwaren ud fra det. Domænet repræsenterer det område, som softwaren skal understøtte, for eksempel e-handel, sundhedssektoren eller logistik. DDD handler om at opbygge en softwaremodel, der afspejler forretningens begreber, regler og processer på en præcis og konsistent måde. Ved at tage udgangspunkt i forretningslogikken frem for udelukkende tekniske overvejelser, bliver softwaren både lettere at forstå og mere tilpasset de faktiske behov. En af grundtankerne i DDD er, at software skal udvikles i tæt samarbejde mellem domæneeksperter (altså nogle, der ved en masse om deres fagområde/domæne) og softwareudviklere. Gennem en løbende dialog mellem disse parter opstår der en fælles forståelse, som hjælper med at forme den underliggende softwaremodel. Dette samarbejde gør det også lettere at imødekomme ændringer i forretningen, fordi softwaren er bygget op omkring begreber og regler, der er nemme at relatere til. Domain-Driven Design forbedrer ikke kun kvaliteten af koden, men også kommunikationen i hele udviklingsprocessen.