Why Domain-Driven Design is so Relevant Today?

Why Domain-Driven Design is so Relevant Today?

6c7fb4b051926511027cec4116cfe8cf?s=128

Jérémie Grodziski

June 07, 2017
Tweet

Transcript

  1. WHY DOMAIN-DRIVEN DESIGN IS SO RELEVANT TODAY? Jérémie GRODZISKI L’après-midi

    du Domain-Driven-Design Microsoft - June 2017
  2. A PERSONAL HISTORY OF COMPUTING

  3. MY FIRST ENCOUNTER

  4. 30 YEARS AFTER…

  5. “SOFTWARE IS EATING THE WORLD”

  6. IT HAS NEVER BEEN SO EASY TO BUILD SOFTWARE

  7. BUT …

  8. THE COST OF MAINTAINING SOFTWARE STAY TOO HIGH

  9. THE HARSH REALITY

  10. WHAT’S LEGACY ?

  11. THE 3 PILLARS OF COMPLEXITY DOMAIN SOFTWARE PEOPLE

  12. TACKLING COMPLEXITY IN THE HEART OF SOFTWARE

  13. THE HEART OF SOFTWARE?

  14. DOMAIN?

  15. A SET OF CONCEPTS THAT, THROUGH USE CASES, ALLOWS US

    TO SOLVE PROBLEMS DOMAIN?
  16. DOMAIN: DOUBLE ENTRY ACCOUNTING SOLVED PROBLEMS: TRACKING, ROBUSTNESS CONCEPTS: ACCOUNT,

    DEBIT, CREDIT, AMOUNT, ETC.
  17. DOMAIN: IDE SOLVED PROBLEMS: PRODUCTIVITY, INTEGRATION CONCEPTS: PROJECTS, FILES, ANALYSIS,

    REFACTORING, CVS, DEBUGGER, ETC.
  18. HOW TO TACKLE COMPLEXITY ?

  19. BETTER ALIGNMENT solution space problem space

  20. WITH DDD WE CONNECT solution space problem space

  21. ALIGNMENTS REQUIRES UNDERSTANDING

  22. OUR FIRST WORK AS DEVELOPER? UNDERSTAND THE DOMAIN WE’LL HAVE

    TO CODE …OR MAINTAIN
  23. BOTH AN APPROACH AND A TOOLBOX

  24. AN APPROACH Focus on business Value Language is key Make

    the implicit, explicit
  25. MAKE THE IMPLICIT EXPLICIT ?

  26. DDD IS NOT A PROCESS !

  27. DESIGN IS MAKING DECISIONS

  28. ALWAYS CONNECT YOUR DECISIONS TO YOUR BUSINESS OBJECTIVES

  29. DDD IS ALSO A TOOLBOX

  30. A TWO STOREY TOOLBOX

  31. TOOLS TO HELP WHILE CODING TACTICAL PATTERNS

  32. TOOLS TO HELP WHILE ARCHITECTING STRATEGICAL PATTERNS

  33. DDD IN A NUTSHELL HOW BEST TO INTEGRATE THE DOMAIN

    IN THE SOFTWARE?
  34. DDD IN A NUTSHELL BUILD WHAT THEY NEED, NOT WHAT

    YOU CAN
  35. DISCLAIMER FOR TODAY