In der Geschichte der Softwareentwicklung gibt es zwei sich beständig abwechselnde Paradigmen: „Thin Client“ (d. h., der Code läuft hauptsächlich auf einem Server, die Clients sind leistungsschwach) und „Fat Client“ (d. h., der Client ist in der Lage, ganze Anwendungen auszuführen). Gab es ursprünglich nur Server mit Terminals, brachte der PC die Wende hin zum lokalen Arbeitsgerät, doch der Siegeszug des Webs sorgte dafür, dass so mancher PC nur noch dazu benutzt wurde, mit Hilfe des Browsers Webseiten anzuzeigen, die auf einem leistungsfähigen Server erstellt worden waren. Doch auch hier endete die Entwicklung nicht, denn Frameworks und Libraries wie Angular oder React ermöglichten wieder einmal die Verlagerung von Code in den Client, diesmal in Gestalt von Single Page Applications mit dem Browser als Ausführungsplattform. Dieser Artikel möchte beleuchten, wie sich Domain-Driven Design in einer solchen Single Page Application etablieren lässt und wie sich die verschiedenen DDD-Konzepte übertragen lassen.