Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Domain-Driven Design – Unterlagen kurz

Domain-Driven Design – Unterlagen kurz

Ein-Tages Workshop DDD

WPS – Workplace Solutions

January 01, 2020
Tweet

More Decks by WPS – Workplace Solutions

Other Decks in Programming

Transcript

  1. Ubiquitous Language Building Blocks Domain Event Aggregate Entity Value Object

    Bounded Context Strategic Design Context Mapping Collaborative Modeling Domain Expert Event Storming Modeling in Code Domain Storytelling Core Domain
  2. Microservices CQRS Hexagonal Architecture Agile Event Sourcing Extreme Programming Scrum

    Cloud Self-Contained Sytems Verticals Clean Architecture DevOps AWS Azure
  3. Conways Law Blue Book Red Book 2015 ’16 ’17 ’14

    ’13 ’12 2010 ’11 ’09 ’08 ’07 ’06 2005 ’04 ’03 ’02 2000 01 1968 ... ’99 ’98 ’19 2020 ’18
  4. 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
  5. ?

  6. 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
  7. VERSCHIEBT & DREHT 8 SCHIFFS- SILHOUETTE UND FINDET ROUTE NAUTIKER

    <<Entity>> Silhouette verschiebe() drehe()
  8. BIG

  9. 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 TIEFEN- MESSUNG MANÖVER- PLANUNG
  10. schnell intensiv ultra leichtgewichtig macht Spaß in die Domäne stürzen

    an die Grenzen gehen den Anwendungsfall erleben EVENT STORMING
  11. SZENARIO: TAXIFAHRT INS LIEBLINGSRESTAURANT TAXI AM „Flughafen HAM“ BESTIEGEN FAHRTZIEL

    „La Casetta Ristorante“ GENANNT TAXI GESTARTET FAHRT BEGONNEN
  12. SZENARIO: TAXIFAHRT INS LIEBLINGSRESTAURANT TAXI AM „Flughafen HAM“ BESTIEGEN FAHRTZIEL

    „La Casetta Ristorante“ GENANNT TAXI GESTARTET FAHRT BEGONNEN NACH „Ahrensburg“ GEFAHREN
  13. EVENT TAXI AM „Flughafen HAM“ BESTIEGEN FAHRTZIEL „La Casetta Ristorante“

    GENANNT TAXI GESTARTET FAHRT BEGONNEN NACH „Ahrensburg“ GEFAHREN Ein FACHLICH RELEVANTES EREIGNIS Hier ist etwas geschehen, das uns fachlich EIN STÜCK WEITER gebracht hat.
  14. TAXI AM „Flughafen HAM“ BESTIEGEN FAHRTZIEL „La Casetta Ristorante“ GENANNT

    NACH „Ahrensburg“ GEFAHREN ORANGER STICKIE In VERGANGENHEITSFORM Tipp: In GROSSBUCHSTABEN EVENT
  15. TAXI AM „Flughafen HAM“ BESTIEGEN FAHRTZIEL „La Casetta Ristorante“ GENANNT

    NACH „Ahrensburg“ GEFAHREN KONKRET WERDEN! Andere Details = andere Geschichte EVENT
  16. SZENARIO: TAXIFAHRT INS LIEBLINGSRESTAURANT TAXI AM „Flughafen HAM“ BESTIEGEN FAHRTZIEL

    „La Casetta Ristorante“ GENANNT TAXI GESTARTET FAHRT BEGONNEN NACH „Ahrensburg“ GEFAHREN
  17. SZENARIO: TAXIFAHRT INS LIEBLINGSRESTAURANT TAXI AM „Flughafen HAM“ BESTIEGEN FAHRTZIEL

    „La Casetta Ristorante“ GENANNT TAXI GESTARTET FAHRT BEGONNEN NACH „Ahrensburg“ GEFAHREN VOR „La Casetta Ristorante“ GESTOPPT FAHRTZIEL ERREICHT TAXIFAHRER PER „EC- Karte“ BEZAHLT AUS TAXI GESTIEGEN FAHRT BEENDET „La Casetta Ristorante“ BETRETEN AN „reservierten Tisch“ GESETZT „Pizza Scampi“ und „Großes Alster“ BESTELLT SE
  18. SZENARIO: TAXIFAHRT INS LIEBLINGSRESTAURANT TAXI AM „Flughafen HAM“ BESTIEGEN FAHRTZIEL

    „La Casetta Ristorante“ GENANNT TAXI GESTARTET FAHRT BEGONNEN NACH „Ahrensburg“ GEFAHREN VOR „La Casetta Ristorante“ GESTOPPT FAHRTZIEL ERREICHT TAXIFAHRER PER „EC- Karte“ BEZAHLT TAXIFAHRER „bar“ BEZAHLT „Reservierter Tisch“ BESETZT KEIN TAXI VERFÜGBAR AUS TAXI GESTIEGEN FAHRT BEENDET „La Casetta Ristorante“ BETRETEN AN „reservierten Tisch“ GESETZT „Pizza Scampi“ und „Großes Alster“ BESTELLT SE
  19. SZENARIO: TAXIFAHRT INS LIEBLINGSRESTAURANT TAXI AM „Flughafen HAM“ BESTIEGEN FAHRTZIEL

    „La Casetta Ristorante“ GENANNT TAXI GESTARTET FAHRT BEGONNEN NACH „Ahrensburg“ GEFAHREN VOR „La Casetta Ristorante“ GESTOPPT FAHRTZIEL ERREICHT TAXIFAHRER PER „EC- Karte“ BEZAHLT Wer legt die Route zum Ziel fest? AUS TAXI GESTIEGEN FAHRT BEENDET „La Casetta Ristorante“ BETRETEN AN „reservierten Tisch“ GESETZT „Pizza Scampi“ und „Großes Alster“ BESTELLT SE Wie wird der Tisch reserviert?
  20. TAXI AM „Flughafen HAM“ BESTIEGEN FAHRTZIEL „La Casetta Ristorante“ GENANNT

    TAXI GESTARTET FAHRT BEGONNEN NACH „Ahrensburg“ GEFAHREN Wer legt die Route zum Ziel fest? Offene FRAGE oder PROBLEM PINKER STICKIE Kurz in Prosa beschreiben. In die Nähe des betroffenen Events hängen! HOTSPOT
  21. „Reservierter Tisch“ BESETZT TAXI AM „Flughafen HAM“ BESTIEGEN FAHRTZIEL „La

    Casetta Ristorante“ GENANNT TAXI GESTARTET FAHRT BEGONNEN NACH „Ahrensburg“ GEFAHREN VOR „La Casetta Ristorante“ GESTOPPT FAHRTZIEL ERREICHT TAXIFAHRER PER „EC- Karte“ BEZAHLT Wer legt die Route zum Ziel fest? TAXIFAHRER „bar“ BEZAHLT KEIN TAXI VERFÜGBAR AUS TAXI GESTIEGEN FAHRT BEENDET „La Casetta Ristorante“ BETRETEN AN „reservierten Tisch“ GESETZT „Pizza Scampi“ und „Großes Alster“ BESTELLT SE Wie wird der Tisch reserviert? BIG PICTURE EVENT STORMING
  22. ?

  23. ?

  24. ?

  25. ?

  26. ?

  27. 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 TIEFEN- MESSUNG MANÖVER- PLANUNG MANÖVER- PLANUNG TIEFEN- MESSUNG
  28. 01.05.20 //// Seite 328 WPS – Workplace Solutions TIDE- VORHER-

    SAGE TIEFEN- MESSUNG MANÖVER- PLANUNG MODELLE IM HAFEN
  29. 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
  30. 01.05.20 //// Seite 343 WPS – Workplace Solutions 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
  31. 01.05.20 //// Seite 355 WPS – Workplace Solutions Indikatoren: §

    Grenzen im Prozess § Abteilungen in der Organisation § Kontextuelle Sprache § Unterschiedlicher Umgang mit den Entities/Aggregates § Unterschiedliche zeitliche Trigger § NICHT: Nach Entities/Aggregaten selbst! WIE SCHNEIDE ICH MEINE DOMÄNE? Foto: Wikipedia/PD-ScottForesman
  32. 01.05.20 //// Seite 360 WPS – Workplace Solutions KONTEXTE –

    fachlich, organisatorisch, technisch technisch (SYSTEME) fachlich (SUBDOMÄNEN) organisatorisch (TEAMS)
  33. 01.05.20 //// Seite 361 WPS – Workplace Solutions KONTEXTE -

    BEISPIEL: technisch CORE MASTER BI (Das Beispiel entspricht grob der tatsächlichen Situation bei einem Kunden)
  34. 01.05.20 //// Seite 362 WPS – Workplace Solutions KONTEXTE -

    NEGATIV-BEISPIEL: fachlich vs. technisch CORE MASTER BI V ERKAU F FA KTU RA VERSAND ARTIKEL
  35. 01.05.20 //// Seite 363 WPS – Workplace Solutions KONTEXTE -

    NEGATIV-BEISPIEL: fachlich vs. technisch vs. organisatorisch CORE MASTER BI VERKAU F FAKTU RA VERSAND ARTIKEL TEAM BESTAND TEAM BI TEAM SALE TEA M LO G ISTIK
  36. 01.05.20 //// Seite 364 WPS – Workplace Solutions @JoernKoch An

    den Schnittstellen entstehen „SCHMERZEN“! • fachlich • technisch • organisatorisch BIG BALL OF PAIN CORE MASTER BI VERKAU F FAKTU RA VERSAND ARTIKEL TEAM BESTAND TEAM BI TEAM SALE TEA M LO G ISTIK
  37. 01.05.20 //// Seite 365 WPS – Workplace Solutions KONTEXTE -

    POSITIV-BEISPIEL: fachlich V ERKA U F FA KTU RA ARTIKEL- AUSWAHL VERSAND
  38. 01.05.20 //// Seite 366 WPS – Workplace Solutions KONTEXTE -

    POSITIV-BEISPIEL: fachlich vs. technisch V ERKA U F FA KTU RA VERSAND ARTIKEL- AUSWAHL
  39. 01.05.20 //// Seite 367 WPS – Workplace Solutions KONTEXTE -

    POSITIV-BEISPIEL: fachlich vs. technisch vs. organisatorisch TEA M V ERKA U F TEA M FA KTU RA TEAM VERSAND TEAM ARTIKEL- AUSWAHL BOUNDED CONTEXTE! Es bleibt zusammen, was zusammen gehört! • fachlich • technisch • organisatorisch
  40. 01.05.20 //// Seite 368 WPS – Workplace Solutions BIG BALL

    OF PAIN vs. Aufbau nach DDD CORE MASTER BI VERKAU F FAKTU RA VERSAND ARTIKE L TEAM BESTAND TEAM BI TEAM SALE TEA M LO G ISTIK TEA M V ERKA U F TEA M FA KTU RA TEAM VERSAND TEAM ARTIKEL- AUSWAHL
  41. 01.05.20 //// Seite 369 WPS – Workplace Solutions BOUNDED CONTEXTE

    SCHNEIDEN Diskutiert: In welche Bounded Contexts teilt sich das Kino auf?
  42. 01.05.20 //// Seite 370 WPS – Workplace Solutions BOUNDED CONTEXTS

    FÜR DAS KINO ABLAUF- PLANUNG KARTEN-VERKAUF BUCH-HALTUNG
  43. 01.05.20 //// Seite 373 WPS – Workplace Solutions @JoernKoch POINTS

    OF NO RETURN Welche Ereignisse schließen Teilprozesse dauerhaft ab?
  44. 01.05.20 //// Seite 374 WPS – Workplace Solutions FINDE DIE

    POINTS OF NO RETURN! TAXI AM „Flughafen HAM“ BESTIEGEN FAHRTZIEL „La Casetta Ristorante“ GENANNT TAXI GESTARTET FAHRT BEGONNEN NACH „Ahrensburg“ GEFAHREN VOR „La Casetta Ristorante“ GESTOPPT FAHRTZIEL ERREICHT TAXIFAHRER PER „EC- Karte“ BEZAHLT AUS TAXI GESTIEGEN FAHRT BEENDET „La Casetta Ristorante“ BETRETEN AN „reservierten Tisch“ GESETZT „Pizza Scampi“ und „Großes Alster“ BESTELLT SE
  45. 01.05.20 //// Seite 375 WPS – Workplace Solutions FINDE DIE

    POINTS OF NO RETURN! TAXI AM „Flughafen HAM“ BESTIEGEN FAHRTZIEL „La Casetta Ristorante“ GENANNT TAXI GESTARTET FAHRT BEGONNEN NACH „Ahrensburg“ GEFAHREN VOR „La Casetta Ristorante“ GESTOPPT FAHRTZIEL ERREICHT TAXIFAHRER PER „EC- Karte“ BEZAHLT ? AUS TAXI GESTIEGEN FAHRT BEENDET „La Casetta Ristorante“ BETRETEN AN „reservierten Tisch“ GESETZT „Pizza Scampi“ und „Großes Alster“ BESTELLT SE
  46. 01.05.20 //// Seite 376 WPS – Workplace Solutions FINDE DIE

    POINTS OF NO RETURN! TAXI AM „Flughafen HAM“ BESTIEGEN FAHRTZIEL „La Casetta Ristorante“ GENANNT TAXI GESTARTET FAHRT BEGONNEN NACH „Ahrensburg“ GEFAHREN VOR „La Casetta Ristorante“ GESTOPPT FAHRTZIEL ERREICHT TAXIFAHRER PER „EC- Karte“ BEZAHLT ? AUS TAXI GESTIEGEN FAHRT BEENDET „La Casetta Ristorante“ BETRETEN AN „reservierten Tisch“ GESETZT „Pizza Scampi“ und „Großes Alster“ BESTELLT SE
  47. 01.05.20 //// Seite 377 WPS – Workplace Solutions FINDE DIE

    POINTS OF NO RETURN! TAXI AM „Flughafen HAM“ BESTIEGEN FAHRTZIEL „La Casetta Ristorante“ GENANNT TAXI GESTARTET FAHRT BEGONNEN NACH „Ahrensburg“ GEFAHREN VOR „La Casetta Ristorante“ GESTOPPT FAHRTZIEL ERREICHT TAXIFAHRER PER „EC- Karte“ BEZAHLT AUS TAXI GESTIEGEN FAHRT BEENDET „La Casetta Ristorante“ BETRETEN AN „reservierten Tisch“ GESETZT „Pizza Scampi“ und „Großes Alster“ BESTELLT SE ?
  48. 01.05.20 //// Seite 378 WPS – Workplace Solutions FINDE DIE

    POINTS OF NO RETURN! M en EN FAHRTZIEL „La Casetta Ristorante“ GENANNT TAXI GESTARTET FAHRT BEGONNEN NACH „Ahrensburg“ GEFAHREN VOR „La Casetta Ristorante“ GESTOPPT FAHRTZIEL ERREICHT TAXIFAHRER PER „EC- Karte“ BEZAHLT AUS TAXI GESTIEGEN FAHRT BEENDET „La Casetta Ristorante“ BETRETEN AN „reservierten Tisch“ GESETZT „Pizza Scampi“ und „Großes Alster“ BESTELLT POINT OF NO RETURN!
  49. 01.05.20 //// Seite 379 WPS – Workplace Solutions IDENTIFIZIERE DIE

    SUBDOMÄNEN M en EN FAHRTZIEL „La Casetta Ristorante“ GENANNT TAXI GESTARTET FAHRT BEGONNEN NACH „Ahrensburg“ GEFAHREN VOR „La Casetta Ristorante“ GESTOPPT FAHRTZIEL ERREICHT TAXIFAHRER PER „EC- Karte“ BEZAHLT AUS TAXI GESTIEGEN FAHRT BEENDET „La Casetta Ristorante“ BETRETEN AN „reservierten Tisch“ GESETZT „Pizza Scampi“ und „Großes Alster“ BESTELLT
  50. 01.05.20 //// Seite 380 WPS – Workplace Solutions IDENTIFIZIERE DIE

    SUBDOMÄNEN M en EN FAHRTZIEL „La Casetta Ristorante“ GENANNT TAXI GESTARTET FAHRT BEGONNEN NACH „Ahrensburg“ GEFAHREN VOR „La Casetta Ristorante“ GESTOPPT FAHRTZIEL ERREICHT TAXIFAHRER PER „EC- Karte“ BEZAHLT AUS TAXI GESTIEGEN FAHRT BEENDET „La Casetta Ristorante“ BETRETEN AN „reservierten Tisch“ GESETZT „Pizza Scampi“ und „Großes Alster“ BESTELLT BOUNDARY
  51. 01.05.20 //// Seite 381 WPS – Workplace Solutions IDENTIFIZIERE DIE

    SUBDOMÄNEN M en EN FAHRTZIEL „La Casetta Ristorante“ GENANNT TAXI GESTARTET FAHRT BEGONNEN NACH „Ahrensburg“ GEFAHREN VOR „La Casetta Ristorante“ GESTOPPT FAHRTZIEL ERREICHT TAXIFAHRER PER „EC- Karte“ BEZAHLT AUS TAXI GESTIEGEN FAHRT BEENDET „La Casetta Ristorante“ BETRETEN AN „reservierten Tisch“ GESETZT „Pizza Scampi“ und „Großes Alster“ BESTELLT BOUNDARY EVENT
  52. 01.05.20 //// Seite 382 WPS – Workplace Solutions IDENTIFIZIERE DIE

    SUBDOMÄNEN M en EN FAHRTZIEL „La Casetta Ristorante“ GENANNT TAXI GESTARTET FAHRT BEGONNEN NACH „Ahrensburg“ GEFAHREN VOR „La Casetta Ristorante“ GESTOPPT FAHRTZIEL ERREICHT TAXIFAHRER PER „EC- Karte“ BEZAHLT AUS TAXI GESTIEGEN FAHRT BEENDET „La Casetta Ristorante“ BETRETEN AN „reservierten Tisch“ GESETZT „Pizza Scampi“ und „Großes Alster“ BESTELLT „Auf dem Weg zum Restaurant“ „Im Restaurant“
  53. 01.05.20 //// Seite 384 WPS – Workplace Solutions IDENTIFIZIERE DIE

    SUBDOMÄNEN M en EN FAHRTZIEL „La Casetta Ristorante“ GENANNT TAXI GESTARTET FAHRT BEGONNEN NACH „Ahrensburg“ GEFAHREN VOR „La Casetta Ristorante“ GESTOPPT FAHRTZIEL ERREICHT TAXIFAHRER PER „EC- Karte“ BEZAHLT AUS TAXI GESTIEGEN FAHRT BEENDET „La Casetta Ristorante“ BETRETEN AN „reservierten Tisch“ GESETZT „Pizza Scampi“ und „Großes Alster“ BESTELLT „Auf dem Weg zum Restaurant“ „Im Restaurant“
  54. 01.05.20 //// Seite 385 WPS – Workplace Solutions IDENTIFIZIERE DIE

    SUBDOMÄNEN ZIEL etta nte“ NNT TAXI GESTARTET FAHRT BEGONNEN NACH „Ahrensburg“ GEFAHREN VOR „La Casetta Ristorante“ GESTOPPT FAHRTZIEL ERREICHT TAXIFAHRER PER „EC- Karte“ BEZAHLT AUS TAXI GESTIEGEN FAHRT BEENDET „La Casetta Ristorante“ BETRETEN AN „reservierten Tisch“ GESETZT „Pizza Scampi“ und „Großes Alster“ BESTELLT „Im Restaurant“ „Auf dem Weg zum Restaurant“
  55. 01.05.20 //// Seite 386 WPS – Workplace Solutions IDENTIFIZIERE DIE

    SUBDOMÄNEN ZIEL etta nte“ NNT TAXI GESTARTET FAHRT BEGONNEN NACH „Ahrensburg“ GEFAHREN VOR „La Casetta Ristorante“ GESTOPPT FAHRTZIEL ERREICHT TAXIFAHRER PER „EC- Karte“ BEZAHLT AUS TAXI GESTIEGEN FAHRT BEENDET „La Casetta Ristorante“ BETRETEN AN „reservierten Tisch“ GESETZT „Pizza Scampi“ und „Großes Alster“ BESTELLT „Auf dem Weg zum Restaurant“ „Im Restaurant“ axi buchen“ „Zahlen bitte!“ „Auf dem Weg zum Restaurant“
  56. 01.05.20 //// Seite 387 WPS – Workplace Solutions ERGEBNIS SICHERN!

    FAHRTZIEL ERREICHT TAXIFAHRER PER „EC- Karte“ BEZAHLT AUS TAXI GESTIEGEN FAHRT BEENDET „La Casetta Ristorante“ BETRETEN „Im Restaurant“ „Zahlen bitte!“ „Auf dem Weg zum Restaurant“
  57. 01.05.20 //// Seite 388 WPS – Workplace Solutions ÜBUNG: Findet

    Points-of-no-Return und identifiziert die Subdomänen des Kinos.
  58. 01.05.20 //// Seite 393 WPS – Workplace Solutions 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 TIEFEN- MESSUNG MANÖVER- PLANUNG MANÖVER- PLANUNG TIEFEN- MESSUNG
  59. 01.05.20 //// Seite 394 WPS – Workplace Solutions 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
  60. 01.05.20 //// Seite 404 WPS – Workplace Solutions SUBDOMAINS Teilt

    die Kontexte nach Core, Supporting, Generic ein.
  61. 01.05.20 //// Seite 405 WPS – Workplace Solutions BOUNDED CONTEXTS

    FÜR DAS KINO ABLAUF- PLANUNG KARTEN- VERKAUF BUCH-HALTUNG
  62. 1) How should it be? 2) How is it? 3)

    How to move the “is” to the “ideal”? RISK MANAGE -MENT SALES
  63. <<En$ty>> Contract sign() vote() SALES RISK MANAGEMENT <<Entity>> Contract sign()

    vote() BIG BALL OF MUD <<En$ty>> Contract sign() vote()
  64. 1) How should it be? 1) Collaborative Modelling 2) “ideal”

    context map 2) How is it? 1) Architecture Analysis 2) As-is context map 3) How to move the “is” to the “ideal”? 1) Extract a supporting domain to learn 2) Then extract core(s)
  65. @JoernKoch Brot Kocher Spül Maschine Espresso Schneide Kaffee Messer Ofen

    Wasser Salz Mühle Streuer SOA BROT GESCHNIT- TEN ?
  66. 01.05.20 //// Seite 465 WPS – Workplace Solutions § Subdomänen

    § Kern (Core Domain) § Unterstützende (Supporting Domain) § Allgemeine (Generic Domain) § Context Mapping § Shared Kernel § Customer/Supplier § Open-Host-Service § Published Language § Separate Ways § Anticorruption Layer § Conformist STRATEGISCHES DESIGN – WEITERE BEGRIFFE
  67. 01.05.20 //// Seite 520 WPS – Workplace Solutions ARCHITEKTUR INNERHALB

    EINES BOUNDED CONTEXT TIDE- VORHER- SAGE MANÖVER- PLANUNG TIEFENMESSUNG
  68. 01.05.20 //// Seite 521 WPS – Workplace Solutions ARCHITEKTUR INNERHALB

    EINES BOUNDED CONTEXT TIEFENMESSUNG User Interface Domain Infrastructure Application
  69. 01.05.20 //// Seite 522 WPS – Workplace Solutions DOMAIN-DRIVEN DESIGN

    – SCHICHTENARCHITEKTUR § User-Interface-Schicht § Nimmt Eingaben und Benutzerkommandos entgegen und stellt Informationen dar. § Application-Schicht § Beschreibt und koordiniert Geschäftsprozesse. § Domain-Schicht § Repräsentiert die Fachdomäne. § Infrastruktur-Schicht § Bietet technische Dienste, wie beispielsweise Persistenz oder die Kommunikation mit anderen Systemen. User Interface Domain Infrastructure Application
  70. 01.05.20 //// Seite 523 WPS – Workplace Solutions SCHICHTENARCHITEKTUR –

    KRITIK User Interface Domain Infrastructure Application TIEFENMESSUNG Domain-Schicht ist an Datenbank-Schicht gebunden èFachlichkeit „tropft“ in Technik èTrennung Fachlichkeit/Technik nicht mehr sauber Alistair Cockburn Foto: Fotograf Dennis Hamilton/Alistair Cockburn/flickr/CC BY 2.0
  71. 01.05.20 //// Seite 524 WPS – Workplace Solutions VON SCHICHTEN

    ZU HEXAGONEN § UI-Schicht und Infrastrukturschicht sind beides Dinge mit denen die Fachlogik (Domäne) mit der Außenwelt kommuniziert § Die Hexagonale Architektur betrachtet UI und Infrastruktur (aus Fachlogiksicht) deshalb gleich § außen/innen statt oben/unten § Ein Hexagon bietet Ports (die Kanten) http://alistair.cockburn.us/Hexagonal+architecture DOMAIN Port Port Port Port Port Port Adapter Adapter Adapter Adapter Adapter Adapter § Auf die Ports werden Adapter gesetzt
  72. 01.05.20 //// Seite 526 WPS – Workplace Solutions En##es Value

    Objects Aggregates Services Factories Repositories
  73. 01.05.20 //// Seite 527 WPS – Workplace Solutions FACHLICHE BEGRIFFE

    – WAS FÄLLT AUF? Versicherungspolice Urlaubsantrag Baumaßnahme Kaufvertrag Fahrauftrag Postleitzahl GPS-Koordinate IBAN Containernummer IATA-Code
  74. 01.05.20 //// Seite 528 WPS – Workplace Solutions ENTITIES §

    Sind die Kernobjekte einer Fachdomäne. § Besitzen eine zustandsunabhängige, unveränderliche Identität. § Haben einen klar definierten Lebenszyklus. § Besitzen einen (meist veränderlichen) Zustand. § Beschreiben ihren Zustand mithilfe von Value Objects. § Sind praktisch immer persistent. § Auch: Business Objects / Domain Objects à NICHT ZU VERWECHSELN mit dem Begriff "ENTITY" aus dem Entity-Relationship-Modell!
  75. 01.05.20 //// Seite 530 WPS – Workplace Solutions VALUE OBJECTS

    § Value Objects sind Symbole für Werte eines bestimmten Typs in der Fachdomäne. § Symbolisieren bei Gleichheit denselben Wert. § Sie werden vom Anwender nicht bearbeitet und sind unveränderlich. § Können ggf. (aus anderen Value Objects) berechnet werden. § Können aus anderen Value Objects bestehen, aber nie aus Entities! ValueObject 2,5 ValueObject ValueObject ValueObject ValueObject zwei- einhalb
  76. 01.05.20 //// Seite 533 WPS – Workplace Solutions ENTITES, VALUE

    OBJECTS Welche Entities haben wir modelliert? Welche Value Objects gibt es? Welche IST-Konzepte sind für das SOLL überflüssig?
  77. 01.05.20 //// Seite 534 WPS – Workplace Solutions ENTITIES UND

    VALUE OBJECTS IM KARTENVERKAUF Saalplan • Anzahl Plätze suchen • Verkaufte Plätze mark. • Reserv. Plätze mit RN markieren Vorstellung • Datum • Zeitraum • Film Reservierungs -nummer Kinokarte • Mit Platz beschriften • Vorstellung Saalplanstapel • Saalplan zu Vorst. Holen • Saalplan zurücklegen Liste der Reservierungsnummern • Reservierungsnummer abholen • Name+Vorst. Vermerken • Vorst. Mit RN heraussuchen Film • Titel • Regisseur, Schauspieler • Freigabe • Spieldauer Platz/Sitzplatz • Reihe • Nummer Saal/Kinosaal • Kapazität • Anzahl Reihen VO Entity Entity Entity Entity Entity Entity
  78. 01.05.20 //// Seite 535 WPS – Workplace Solutions ENTITIES UND

    VALUE OBJECTS IM KARTENVERKAUF Saalplan • Anzahl Plätze suchen • Verkaufte Plätze mark. • Reserv. Plätze mit RN markieren Vorstellung • Datum • Zeitraum • Film Reservierungs -nummer Liste der Reservierungsnummern • Reservierungsnummer abholen • Name+Vorst. Vermerken • Vorst. Mit RN heraussuchen Film • Titel • Regisseur, Schauspieler • Freigabe • Spieldauer Platz/Sitzplatz • Reihe • Nummer Saal/Kinosaal • Kapazität • Anzahl Reihen VO Entity Entity Entity Entity Entity Entity
  79. June 19th-20th 2020 Soltau, Germany The Collaborative Modeling Unconference comocamp.org

    Event Storming User Story Mapping Event Modeling Impact Mapping Domain Storytelling Storystorming Context Mapping Example Mapping etc.
  80. 15$ online: leanpub.com/domainstorytelling Frag mich nach Deiner Kopie Einführung mit

    allem was man wissen muss Überblick Rabatt! https://leanpub.com/domainstorytelling/c/oop2020