P&A + DDD + CQRS – Łukasz Szydło – Notatka z nauki

przez Karol Bocian | 11 kwietnia, 2021
P&A + DDD + CQRS: https://www.pexels.com/photo/person-typing-on-computer-keyboard-2058128/

Co może powstać z połączenia: P&A + DDD + CQRS? Opowiedział o tym Łukasz Szydło w materiale: Boiling Frogs 2017 – Łukasz Szydło – P&A + DDD + CQRS = 00.

W ramach rozwijania się oglądam i czytam różne materiały. Następnie wiedzę z nich umieszczam w Anki oraz w notatkach i uzupełniam własnymi przemyśleniami.

Notatka z materiału Boiling Frogs 2017 – Łukasz Szydło – P&A + DDD + CQRS = 00

Zanotowałem z tego materiału:

  • Systemy:
    • Płytki  – można logikę wyspecyfikować za pomocą interfejsu – logikę działania można zrozumieć, patrząc na interfejs (np. blog).
    • Głęboki – logika stojąca za interfejsem jest bardzo skomplikowana (np. wyszukiwarka Google).
  • Najpierw należy pokryć testami 100% logiki biznesowej.
  • Zależności dwukierunkowe utrudniają testowanie. Rozwiązania:
    • Odwrócenie zależności.
    • Przesunięcie interfejsów do domeny biznesowej.
    • Interfejsy mają korzystać z encji z domeny biznesowej.
    • Kierunek: architektura portów i adapterów.
  • Duża liczba geterów i seterów:
    • Obiekty są zbyt anemiczne.
    • CQRS:
      • Odczyty są bezpieczne, a zapisy nie są bezpieczne.
      • Zapisy są cache’walne.
      • Odczytywane jest wiele wpisów, a edytowany jeden.
      • Zazwyczaj więcej jest odczytów niż zapisów.
      • Zapisy są bardziej skomplikowane niż odczyty.
      • Robić różne obiekty encji na zapisy i odczyty.
  • Cały system nie musi mieć identycznej architektury. Zapisy mogą mieć inną architekturę niż odczyty.
  • Rób bardzo wyspecjalizowane klasy. W różnych kontekstach Użytkownik jest kimś innym. Klasy muszą być jednoznaczne. Stosuj Bounded Contexty.
  • Twoja architektura to może być wiele małych heksagonali.

Wszystkie posty związane z notatkami z nauki.

Źródła

Obraz główny

Materiał Boiling Frogs 2017 – Łukasz Szydło – P&A + DDD + CQRS = 00

Kategoria: Notatki z nauki

O Karol Bocian

Programowanie i świat agentów programowalnych, który poznał na Wydziale Matematyki i Nauk Informacyjnych, wciągnął go w przemysł IT. W trakcie swojej praktyki zawodowej Karol zrozumiał, że nie ważne co się robi i kim się jest, ale wiedza z zarządzania przydaje się wszędzie. Rozpoczął studia na kierunku Zarządzanie i Inżyniera Produkcji. W przypadku Karola zarządzanie to nie tylko teoria czy praca, ale prawie każdy element jego życia, to jego pasja.