If you want to build a ship, don't drum up people to collectwood and don't assign them tasks and work, but ratherteach them to long for the endless immensity of the sea.
Antoine de Saint-Exupéry
DDD IS FORSIMPLE
COMPLEXPROBLEMS.
WHY?
"'Ce n'est pas possible', m'ecrivez-vous: cela n'est pas français."
Napoleon Bonaparte, 1813
"You say it is not possible", but I write to you:
that word is not in a programmer's dictionary.
Eric Evans, 2003
COMPLEXITYIS POSSIBLE WITHOUT
CONFUSIONMESS IN CODE AND ARCHITECTURE
NOT UNDERSTANDING WHAT IS GOING ONDIFFICULTY IN COMMUNICATION
SLOW DEVELOPMENT
http://dddcommunity.org/book/evans_2003/
HOW?
BY UNDERSTANDINGSOLVE TODAY
SOLVE TODAY &PREPARE FORTOMORROW
“The heart of so�ware is its ability to solve domain-relatedproblems for its user.”
Eric Evans, 2003
BY UNDERSTANDINGTHAT
YOU ARE NOT ALONE
BY UNDERSTANDINGTHAT
BRAIN HAS LIMITS
WHAT?
YOU MODEL THE REAL WORLDDOMAIN
WORDSUML&CO
CODE
UBIQUITOUSLANGUAGE
INTENTION NOT THEIMPLEMENTATION
DEEP INSIGHTSREFACTOR THE LANGUAGE
STRATEGIC DESIGNBOUNDED CONTEXTS
CONTEXT MAPS...ENABLES CHANGE...
MODELING THEDOMAIN
PATTERNS
SOMEONE HAD A SIMILAR PROBLEMTHESE WERE THE CHALLENGES THEY FACED
THIS IS HOW THEY SOLVED AND/OR BYPASSED THEM
STRUCTURE PATTERNS
ENTITY, VALUE OBJECT, SERVICE,AGGREGATE, ...
LIFE CYCLE PATTERNS
FACTORY, REPOSITORY, ...
BEHAVIOR PATTERNS
SPECIFICATION, STRATEGY, COMPOSITE, ...
NAMING STUFF
DESCRIBE BEHAVIOUR.DON'T DO WHAT YOU DON'T SAY YOU DO.
CLOSURE OF OPERATIONSQUERIES, COMMANDS
...
APPLICATIONARCHITECTURE
HOMEWORKERIC EVANS
"DOMAIN-DRIVEN DESIGN: TACKLING COMPLEXITY INTHE HEART OF SOFTWARE"