LEGT
NAUTIKER KAPITÄN
FRAGT NACH
7
SCHIFFS-
SILHOUETTE
AUF
PEILDIENST
PEILSCHIFF
TIEFE
PEILT
1
SENDET
2
AN
BERECHNET
3
ERZ
EUGT
4
SENDET
5
PEILPLAN
AN
VERSCHIEBT &
DREHT
8
SCHIFFS-
SILHOUETTE
UND
FINDET
9
MELDET AN
6
ROUTE
ROUTE
PEILPLAN
PEILPLAN
TIEFEN-
ZAHLEN
ROUTE
TIEFENLINIEN
Slide 136
Slide 136 text
Peilplan
Slide 137
Slide 137 text
Peilplan
Slide 138
Slide 138 text
Peilplan
Slide 139
Slide 139 text
Peil-
plan
Slide 140
Slide 140 text
public class Peilplan
{
//...
}
Slide 141
Slide 141 text
@hschwentner
Peilplan
public class Peilplan
{
//...
}
Peilplan
Peilplan
Slide 142
Slide 142 text
“There are only two hard things in Computer Science:
cache invalidation and naming things.”
Phil Karlton
Slide 143
Slide 143 text
“There are only two hard things in Computer Science:
cache invalidaNon, naming things,
and off-by-one errors.”
Phil Karlton
Slide 144
Slide 144 text
SMALL
Slide 145
Slide 145 text
No content
Slide 146
Slide 146 text
No content
Slide 147
Slide 147 text
public class Silhouette
{
//...
}
Slide 148
Slide 148 text
No content
Slide 149
Slide 149 text
public class Silhouette
{
public void verschiebeUm(Laenge l)
//...
}
Slide 150
Slide 150 text
No content
Slide 151
Slide 151 text
public class Silhouette
{
public void verschiebeUm(Laenge l)
//...
public void dreheUm(Winkel w)
//...
}
Slide 152
Slide 152 text
Erich Gamma
“Program to an interface,
not to an implementation”
Slide 153
Slide 153 text
public class Silhouette
{
public void setPosition(Position p)
//...
}
✘
Slide 154
Slide 154 text
✘
Slide 155
Slide 155 text
WARNING
SETTERS
CAUSE
MODEL
ANEMIA
Slide 156
Slide 156 text
VERSCHIEBT &
DREHT
8
SCHIFFS-
SILHOUETTE
UND
FINDET ROUTE
NAUTIKER
<>
Silhouette
verschiebe()
drehe()
Slide 157
Slide 157 text
BIG
Slide 158
Slide 158 text
?
Slide 159
Slide 159 text
?
Slide 160
Slide 160 text
?
Slide 161
Slide 161 text
No content
Slide 162
Slide 162 text
No content
Slide 163
Slide 163 text
No content
Slide 164
Slide 164 text
No content
Slide 165
Slide 165 text
@hschwentner
“Whoever uses a canonical model
has lost control over his life.”
– Karl Lagerfeld
Slide 166
Slide 166 text
@hschwentner
»Wer ein kanonisches
Domänenmodell einsetzt, hat die
Kontrolle über sein Leben verloren«
– Karl Lagerfeld
Slide 167
Slide 167 text
No content
Slide 168
Slide 168 text
No content
Slide 169
Slide 169 text
No content
Slide 170
Slide 170 text
No content
Slide 171
Slide 171 text
No content
Slide 172
Slide 172 text
No content
Slide 173
Slide 173 text
No content
Slide 174
Slide 174 text
Bounded Context
Slide 175
Slide 175 text
No content
Slide 176
Slide 176 text
Bewegung
Kosmetik
Gefühle
Slide 177
Slide 177 text
PUTS
NAVIGATING
OFFICER
CAPTAIN
ASKS FOR
7
SHIP
SILHOUETTE
ON
CARTO-GRAPHER
SOUNDING SHIP
DEPTH
MEASURES
1
SENDS
2
TO
CALCULATES
3
DRAW
S
4
SENDS
5
DEPTH MAP
TO
MOVES & TURNS
8
SHIP SLHOETTE
TO FIND
9
DISCUSSES WITH
6
ROUTE
ROUTE
DEPTH MAP
DEPTH MAP
DEPTH (RAW)
ROUTE
CONTOUR
LINES
DEPTH
MEASURE-
MENT
MANEUVER
PLANNING
MANEUVER
PLANNING
DEPTH
MEASUERE-
MENT
Slide 178
Slide 178 text
No content
Slide 179
Slide 179 text
No content
Slide 180
Slide 180 text
No content
Slide 181
Slide 181 text
@hschwentner
Do I get a car for this?
Slide 182
Slide 182 text
No content
Slide 183
Slide 183 text
No content
Slide 184
Slide 184 text
CUSTOMER
TELLS WISH FOR
1
SALES-PERSON
SIGNS
TO
GIVES
FOR
CONTRACT
3
RISIK MANAGER
CONTRACT
PASSES ON
TO
4
CONTRACT
VOTES
CHECKS
CALCULATES
5
6
7
CALCU-
LATES
TO
8
2
CAR
CREDIT
RATING
INSTALLMENT
CAR
RESALE
VALUE
CONTRACT
CUSTOMER
TELLS WISH FOR
1
SALES-PERSON
SIGNS
TO
GIVES
FOR
CONTRACT
3
RISIK MANAGER
CONTRACT
PASSES ON
TO
4
CONTRACT
VOTES
CHECKS
CALCULATES
5
6
7
CALCU-
LATES
TO
8
2
CAR
CREDIT
RATING
INSTALLMENT
CAR
RESALE
VALUE
CONTRACT
SALES
RISK MANAGMENT
SALES
RISK MANAGMENT
@hschwentner
Ubiquitous Language
<=>
Bounded Context
Slide 202
Slide 202 text
Ludwig Wittgenstein
»Die Grenzen
meiner Sprache bedeuten
die Grenzen meiner Welt«
Slide 203
Slide 203 text
TIEFEN-
MESSUNG
PEIL-
SCHIFF
TIEFEN-
ZAHL
MARKIER-
UNG
PEIL-
PLAN
TIEFEN-
ZAHL
MANÖVERPLANUNG
Slide 204
Slide 204 text
TIEFENZAHL
TIEFE AN EINEM
BESTIMMTEN ORT
UNTER BERÜCKSICHTIGUNG
VON EBBE UND FLUT
TIEFENZAHL
PER ECHOLOT GEMESSENE
TIEFE BEI NORMALNULL
MANÖVER-
PLANUNG
TIEFENMESSUNG
Slide 205
Slide 205 text
@hschwentner
Strategic Design
Ubiquitous Language
Tactical Design
Slide 206
Slide 206 text
No content
Slide 207
Slide 207 text
No content
Slide 208
Slide 208 text
@hschwentner
Collaborative Modeling
Slide 209
Slide 209 text
No content
Slide 210
Slide 210 text
No content
Slide 211
Slide 211 text
MANÖVER
SIMULIERT
ZOOM-
STUFEN BE-
RECHNET
TIEFE
GEPEILT
TIEFE AN
PEILDIEINST
GEMELDET PEILPLAN
GEDRUCKT
TIEFEN-LINIEN
ERSTELLT
SILHOUETTE
AUF
ÖSTLICHE
RICHTUNG
GEDREHT
SILHOUETTE
300M
BEWEGT
SILHOUETTE
DER LÄNGE
100M
ERSTELLT
DAS AUS-
SCHNEIDEN
NERVT!
HIER
PASSAGE
BERÜCK-
SICHTIGEN!
BESONDERE
VER-FLACHUNG
GEMELDET
KOMMT PER
TELEFON
Slide 212
Slide 212 text
CHAOS
Slide 213
Slide 213 text
http://www.domainstorytelling.org
Slide 214
Slide 214 text
PUTS
NAVIGATING
OFFICER
CAPTAIN
ASKS FOR
7
SHIP
SILHOUETTE
ON
CARTO-GRAPHER PEILSCHIFF DEPTH
MEASURES
1
SENDS
2
TO
CALCULATES
3
DRAWS
4
SENDS
5
DEPTH MAP
TO
MOVES & TURNS
8
SHIP
SILHOUETTE
TO FIND
9
DISCUSSES WITH
6
ROUTE
ROUTE
DEPTH MAP
DEPTH MAP
DEPTH (RAW)
ROUTE
CONTOUR
LINES
Slide 215
Slide 215 text
LEGT
NAUTIKER KAPITÄN
FRAGT NACH
7
SCHIFFS-
SILHOUETTE
AUF
PEILDIENST PEILSCHIFF TIEFE
PEILT
1
SENDET
2
AN
BERECHNET
3
ERZEUGT
4
SENDET
5
PEILPLAN
AN
VERSCHIEBT &
DREHT
8
SCHIFFS-
SILHOUETTE
UND
FINDET
9
MELDET AN
6
ROUTE
ROUTE
PEILPLAN
PEILPLAN
TIEFEN-
ZAHLEN
ROUTE
TIEFENLINIEN
“OrganizaNons which design systems
are constrained to produce designs
which are copies of the
communicaNon structures of
these organizaNons.”
Melvin Conway
Slide 287
Slide 287 text
“The organization of the software and
the organization of the software team
will be congruent.”
Eric Raymond
Slide 288
Slide 288 text
“If you have four groups working on a compiler,
you'll get a 4-pass compiler.”
Eric Raymond
Slide 289
Slide 289 text
No content
Slide 290
Slide 290 text
No content
Slide 291
Slide 291 text
Micro-
service A
UI
EnWWes
Value
Objects
Services
Micro-
service B
UI
Entities
Value
Objects
Services
Micro-
service C
UI
Entities
Value
Objects
Services
Slide 292
Slide 292 text
Micro-
service A
PräsentaWons-
Schicht
Fachdomänen-
Schicht
Infrastruktur-
Schicht
ApplikaWons-
Schicht
Micro-
service B
Direkter
Zugriff
Auf die DB
Micro-
service C
Slide 293
Slide 293 text
Team Emma
Team Berta
Team Erna
Team Lisl
Slide 294
Slide 294 text
Team Emma
Team Berta
Team Erna
Team Lisl
Slide 295
Slide 295 text
Team Emma
Team Berta
Team Erna
Team Lisl
Slide 296
Slide 296 text
✘
Slide 297
Slide 297 text
No content
Slide 298
Slide 298 text
No content
Slide 299
Slide 299 text
No content
Slide 300
Slide 300 text
Simon Brown
Slide 301
Slide 301 text
Distributed
Big Ball Of Mud
Modulith Microservices
Monolithic
Big Ball Of Mud
Slide 302
Slide 302 text
No content
Slide 303
Slide 303 text
No content
Slide 304
Slide 304 text
@hschwentner
What now?
Slide 305
Slide 305 text
@DDDger
https://dddgermany.herokuapp.com
Slide 306
Slide 306 text
No content
Slide 307
Slide 307 text
@hschwentner
LeasingNinja.io
Slide 308
Slide 308 text
Workshop
Domain-Driven Design konkret
wps.de/ddd
Slide 309
Slide 309 text
@hschwentner
Foto: Henning Schwentner
Slide 310
Slide 310 text
@hschwentner
Consulting
Slide 311
Slide 311 text
@hschwentner
Literature
Slide 312
Slide 312 text
@hschwentner
speakerdeck.com/hschwentner
Slide 313
Slide 313 text
Foto: H. Schwentner
Slide 314
Slide 314 text
Foto: H. Schwentner
Slide 315
Slide 315 text
Foto: Amazon
Slide 316
Slide 316 text
No content
Slide 317
Slide 317 text
No content
Slide 318
Slide 318 text
15$ online:
leanpub.com/domainstorytelling
Gratis hier am
Stand von dpunkt
Einführung mit allem
was man wissen muss
Überblick
Rabatt!
https://leanpub.com/domainstorytelling/c/dddkonkret