31

Domain Driven Design In A Nutshell - Ljubljana Webcamp 2016

Embed Size (px)

Citation preview

ROBERT ŠORN@BIGBLACKSTEEL

DAD, HUSBAND, HACKER

LEADER OF MEN

team lead @

head of education@

DOMAIN DRIVENDESIGN

IN A NUTSHELLLJUBLJANA WEBCAMP 2016

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"

http://dddcommunity.org/book/evans_2003/

HOMEWORK