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

DDD - o jeden krok za dalego

lszydlo
March 07, 2020

DDD - o jeden krok za dalego

Zdarza się, że ślepo dążymy do modularnego kodu, dla samego faktu modularności i enkapsulacji. Stawiamy równoważnik między „modularny” a „dobry”. Nie bierzemy pod uwagę, że modularność niesie za sobą koszty. Pytanie czy zawsze opłacalne jest dla nas ich ponoszenie.

lszydlo

March 07, 2020
Tweet

More Decks by lszydlo

Other Decks in Technology

Transcript

  1. O MNIE ➤ Programista, Architekt, Konsultant ➤ Pomagam firmom tworzyć

    oprogramowanie ➤ DDD, Architektura, Projektowanie ➤ Mąż i ojciec szóstki dzieci
  2. GWIDON ➤ Doświadczony programista/aspirujący architekt ➤ Przerobił jakieś kursy online

    ➤ Fan Domain-Driven Design ➤ Rozpoczyna nowy projekt ➤ Zrobił ES, odkrył sub-domeny, zdefiniował BC ➤ Zabiera się do implementacji i …
  3. PODZIAŁ NA MODUŁY System Moduł biznesowy Moduł biznesowy Moduł biznesowy

    Moduł biznesowy Kontroler Repo Serwis Kontroler Repo Serwis Kontroler Repo Serwis Kontroler Repo Serwis
  4. PODEJŚCIE 1 - OSOBNY MODEL Z MAPOWANIEM Rekord Encja ORM

    set() set() Repo DAO Domena Infrastruktura
  5. PODEJŚCIE 2 - OSOBNY MODEL ZE ZDARZENIAMI Rekord Encja ORM

    set() apply() Repo DAO Domena Infrastruktura Zdarzenia
  6. „Two components are connascent if a change in one would

    require the other to be modified in order to maintain the overall correctness of the system CONNASCENCE https://connascence.io/
  7. PODEJŚCIE 4 - EVENT SOURCING Strumień zdarzeń Encja apply() append()

    Repo DAO Domena Infrastruktura Nowe zdarzenia 4 5 1 2 3
  8. PODEJŚCIE 1 - CQRS ZE WSPÓLNYM MODELEM W DB Model

    odczytu Model zapisu Query Command Repo Finder
  9. PODEJŚCIE 2 - CQRS Z OSOBNYMI MODELAMI W DB Model

    odczytu Model zapisu Query Command Repo Finder A B C