ddd today: modeling uncertainty - goto conference · un·cer·tain·ty synonyms: unpredictability,...
TRANSCRIPT
![Page 1: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/1.jpg)
DDD Today:Modeling Uncertainty
@VaughnVernonCopyright © 2012-2017 for{comprehension} All rights reserved.
![Page 2: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/2.jpg)
Essence of DDD
@VaughnVernon
![Page 3: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/3.jpg)
Context Mapping
@VaughnVernon
![Page 4: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/4.jpg)
Powers of 10
@VaughnVernon
![Page 5: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/5.jpg)
Donald Knuth
“Premature optimization is the root of all evil.”@VaughnVernon
![Page 6: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/6.jpg)
WhatDonald KnuthActually Said:
“We should forget about small efficiencies...premature optimization is the root of all evil.”
@VaughnVernon
![Page 7: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/7.jpg)
AndDonald Knuth
Also Said:“People who are more than casuallyinterested in computers should have at leastsome idea of what the underlying hardware islike. Otherwise the programs they write willbe pretty weird.”
@VaughnVernon
![Page 8: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/8.jpg)
1973 - 2003
@VaughnVernon
![Page 9: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/9.jpg)
Cores Matter
More cores, not (much) faster cores@VaughnVernon
![Page 10: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/10.jpg)
Reactive/Actors
@VaughnVernon
![Page 11: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/11.jpg)
Reactive Systems
@VaughnVernon
![Page 12: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/12.jpg)
Welcome,Uncertainty!
@VaughnVernon
![Page 13: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/13.jpg)
un·cer·tain·tythe state of being uncertain.
@VaughnVernon
![Page 14: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/14.jpg)
un·cer·tain·tythe state of being uncertain.
@VaughnVernon
![Page 15: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/15.jpg)
un·cer·tain·tysynonyms: unpredictability,unreliability, riskiness,chanciness, precariousness,changeability, variability...
@VaughnVernon
![Page 16: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/16.jpg)
synonyms: uncomfortable ;-)
@VaughnVernon
un·cer·tain·ty
![Page 17: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/17.jpg)
![Page 18: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/18.jpg)
Addiction
@VaughnVernon
![Page 19: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/19.jpg)
Addiction
@VaughnVernon
![Page 20: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/20.jpg)
Addiction
![Page 21: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/21.jpg)
uncomfortable
It's okay to feel this way.
@VaughnVernon
![Page 22: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/22.jpg)
Perception
@VaughnVernon
![Page 23: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/23.jpg)
“Cleverly hidden”
@VaughnVernon
![Page 24: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/24.jpg)
Fortress
@VaughnVernon
![Page 25: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/25.jpg)
Infra Fortress
@VaughnVernon
![Page 26: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/26.jpg)
De-duplicator
@VaughnVernon
![Page 27: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/27.jpg)
Resequencer
@VaughnVernon
![Page 28: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/28.jpg)
Stop everything.
Ok, I'm ready now.
@VaughnVernon
![Page 29: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/29.jpg)
“There is no now.”
Justin Sheehy@VaughnVernon
![Page 30: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/30.jpg)
Urgent Global Bug
LocalTime.now()
@VaughnVernon
![Page 31: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/31.jpg)
un·cer·tain·ty“Distributed systems are hereto stay. If you don't like it,change careers. Maybe opena restaurant.” – Me
@VaughnVernon
![Page 32: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/32.jpg)
un·cer·tain·ty
Why Modeling
Matters@VaughnVernon
![Page 33: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/33.jpg)
Cores Matter
More cores, not (much) faster cores@VaughnVernon
![Page 34: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/34.jpg)
Cloud Matters
@VaughnVernon
![Page 35: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/35.jpg)
MicroservicesMatter
@VaughnVernon
![Page 36: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/36.jpg)
Latency Matters
@VaughnVernon
![Page 37: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/37.jpg)
IoT Matters
@VaughnVernon
![Page 38: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/38.jpg)
Cheap
#IoT
@VaughnVernon
![Page 39: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/39.jpg)
SOLID vs Ma
@VaughnVernon
![Page 40: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/40.jpg)
Reactive Systems
@VaughnVernon
![Page 41: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/41.jpg)
un·cer·tain·tythe state of being uncertain.
@VaughnVernon
![Page 42: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/42.jpg)
Pat HellandLife Beyond DistributedTransactions (updated)
“In a system that cannot count on distributedtransactions, the management of uncertaintymust be implemented in the business logic.”
@VaughnVernon
![Page 43: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/43.jpg)
Activity
@VaughnVernon
![Page 44: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/44.jpg)
Activitypublic final class PartnerActivities { private final Set<PartnerActivity> activities; ... public void record(Partner p, Activity a) { activities.add(new PartnerActivity(p, a)); }
public boolean seen(Partner p, Activity a) { activities.contains(new PartnerActivity(p, a)); }}
@VaughnVernon
![Page 45: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/45.jpg)
Where?
Less complex!@VaughnVernon
![Page 46: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/46.jpg)
Explicit Model
@VaughnVernon
![Page 47: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/47.jpg)
Core Domain?
@VaughnVernon
![Page 48: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/48.jpg)
Core Domain
@VaughnVernon
![Page 49: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/49.jpg)
Events
@VaughnVernon
![Page 50: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/50.jpg)
DuplicateCommutative
@VaughnVernon
![Page 51: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/51.jpg)
DuplicateNon-commutative
@VaughnVernon
![Page 52: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/52.jpg)
Ordered Sequence
@VaughnVernon
![Page 53: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/53.jpg)
Closest
@VaughnVernon
![Page 54: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/54.jpg)
Multiple ChoiceFirst/Fastest
@VaughnVernon
![Page 55: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/55.jpg)
Process
@VaughnVernon
![Page 56: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/56.jpg)
@VaughnVernon
![Page 57: DDD Today: Modeling Uncertainty - GOTO Conference · un·cer·tain·ty synonyms: unpredictability, unreliability, riskiness, chanciness, precariousness, changeability, variability](https://reader034.vdocuments.site/reader034/viewer/2022042308/5ed46dd998010563415746e0/html5/thumbnails/57.jpg)
● Start with what you know.
ModelingHeuristics
● You don't own the time frame.
● Be uncomfortable, but make decisions.
@VaughnVernon