Page 1
@hschwentner
IT’S ALL ABOUT THE DOMAIN, HONEY!
Fachliche Architektur In hoher Qualitaet durch Domain-Driven design
Page 2
@hschwentner
Was ist dasfür 1 Design?
Page 3
@hschwentner
Vong Domain her
Page 15
@hschwentner
speakerdeck.com/hschwentner
Page 16
Quelle:http://www.schulbilder.org/malvorlage-informatiker-i10418.html
Page 18
Foto
: H
ennin
g S
chw
entn
er
Page 19
Fritz&Franz&Lothar&Philipp.
Page 24
Foto:Steindy/W
ikipedia
Page 34
Wilhelm Paula Siegfried
Foto:Lotse/W
ikipoe
dia
Page 35
Vong WPS her
Foto:
Lotse/W
ikip
oedia
Page 37
@hschwentner
@wps_de
Page 39
»Business-Softwaredie Spaß macht«
Page 46
»Business-Softwaredie Spaß macht«
Page 49
@hschwentner
Inhalt
Page 51
Domain Model
BausteineDomain EventAggregate
Entity
Value Object
Bounded Context
Strategic Design
Context Mapping
Ubiquitous LanguageDomain Expert
Event Storming
Factory
Tactical Design
Page 52
MicroservicesCQRS
Hexagonal Architecture
AgileEvent SourcingExtreme Programming
Scrum
Design by Contract
Page 54
Foto:G
emeinfrei/P
ixabay
Page 55
Foto:
Rabe!/
Wik
ipedia
Page 56
Foto:
Xocola
tl/
Wik
ipedia
Page 57
Ent
wur
f: K
arl P
egla
u/G
emei
nfre
i
Page 62
@hschwentner
Software != Selbstzweck
Page 86
public class Konto{
//...}
Page 88
public class Konto{
public void zahleEin(Betrag b)//...
}
Page 89
public class Konto{
public void zahleEin(Betrag b)//...public void zahleAus(Betrag b)//...
}
Page 91
public class Konto{
public void setSaldo(Betrag b)//...
}
�
Page 92
public class Konto{
public void setSaldo(Betrag b)//...
}
�
Page 96
@hschwentner
Technische Sprache
Page 97
X
Class
Database
Server
Client
O/R-Mapping
Inheritance
A
B
Method
Interface
Linux
Windows
Eclipse
VisualStudio
Page 99
@hschwentner
Fachsprache
Page 100
Container
Containernummer
4300
Kran
Twistlock
Frachtbrief
Page 103
Fachbegriff
Fachbegriff
Page 105
Ubiquitous Language
Page 106
Allgegenwärtige Sprache
Page 111
public class Containernummer{
//...}
Page 112
Containernummer
public class Containernummer{
//...}
Containernummer
Containernummer
Page 113
“ThereareonlytwohardthingsinComputerScience:
cacheinvalidationandnamingthings.”
PhilKarlton
Page 114
“ThereareonlytwohardthingsinComputerScience:
cacheinvalidation,namingthings,
andoff-by-oneerrors.”
PhilKarlton
Page 116
Brett
König
Figuren
Spieler
Schachuhr
Page 117
Brett
Figuren
Spieler
Page 118
Brett
Figuren
Spieler
NichtmenschlicherSpieler
Page 127
http://www.domainstorytelling.org
Page 128
http://www.domainstorytelling.org
Page 132
@hschwentner
Tactical Design
Page 135
Auch: Business Object
Page 138
@hschwentner
Identität
Page 144
Versicherungspolice
UrlaubsantragBaumaßnahme
Kaufvertrag
Fahrauftrag
Page 151
Postleitzahl
GPS-Koordinate
IBAN
Containernummer
IATA-Code
Page 153
AggregateEntity(Wurzel)
Entity
Entity
ValueObjectValueObject
Page 155
@hschwentner
WAM
Page 158
Entwurfsmetaphern
Page 159
Foto:
Dallas M
useum
of
Art/W
ikip
edia
Page 160
Foto:
Chris
toph M
ichels
/W
ikip
edia
Page 162
Foto:
MrX/W
ikip
edia
Page 163
Foto:
Silsor/W
ikip
edia
Page 165
Foto:
Wolf
gagn
Lonie
n/W
ikip
edia
Page 167
@hschwentner
Material == passiv
Page 168
Foto:
Chris
toph M
ichels
/W
ikip
edia
Page 169
Foto:
MrX/W
ikip
edia
Page 170
@hschwentner
== aktiv
Page 173
Foto:
Svdm
ole
n/W
ikip
edia
Page 175
@hschwentner
Strategic Design
Page 188
“Organizationswhichdesignsystems
areconstrainedtoproducedesigns
whicharecopiesofthe
communicationstructuresof
theseorganizations.”
MelvinConway
Page 189
MelvinConway
(1967)
“Organizationswhichdesignsystems
areconstrainedtoproducedesigns
whicharecopiesofthe
communicationstructuresof
theseorganizations.”
Page 190
“Theorganizationofthesoftwareand
theorganizationofthesoftwareteam
willbecongruent.”
EricRaymond
Page 191
“Ifyouhavefourgroupsworkingonacompiler,
you'llgeta4-passcompiler.”
EricRaymond
Page 192
Micro-serviceA
UI
Entities
ValueObjects
Services
Micro-serviceB
UI
Entities
ValueObjects
Services
Micro-serviceC
UI
Entities
ValueObjects
Services
Page 193
Micro-serviceA
Präsentations-Schicht
Fachdomänen-Schicht
Infrastruktur-Schicht
Applikations-Schicht
Micro-serviceB
DirekterZugriffAufdieDB
Micro-serviceC
Page 196
@hschwentner
Literatur
Page 197
@hschwentner
speakerdeck.com/hschwentner
Page 203
https://entwickler.de/online/development/gratis-lesen-entwickler-kiosk-themen-dossier-domain-driven-design-579749361.html
Page 210
@DDDgerhttps://dddgermany.herokuapp.com
Page 211
Germanysfirst DDDconference
Page 213
@hschwentner
Tutorium am Mittwoch
Page 215
WorkshopDomain-Driven Designkonkret
wps.de/ddd
Page 216
@hschwentner Foto
: H
ennin
g S
chw
entn
er
Page 217
@hschwentner
Rabatt!
Page 221
@hschwentner
FEEDBACK
Page 226
Henning Schwentner
[email protected] @hschwentner
�!