Část 02 z 16 · Den 1 · ubiquitous language, kontrakt zprávy

Stejné slovo, jiný význam

Problém a zkušenost

Stejné slovo, jiný význam

„Žádost“ je pro poradce něco jiného než pro risk nebo databázi. Pokud se na jazyce neshodneme, zpráva je jen tvar JSON.

Tři týmy, jedno slovo

  1. Poradcežádost = rozhovor s klientem
  2. Riskžádost = posuzovaná expozice
  3. Databázeapplication_row

Důsledek

  1. Zpráva „Application“každý čte jinak
  2. Chyba až v provozu

Zkušenost z praxeKterý pojem znamená u vás v různých týmech něco jiného?

TakeawayJazyk domény je první kontrakt.

Více k tématu

Co to znamená

Společný jazyk domény znamená, že názvy událostí a příkazů vznikají z řeči lidí, kteří doménu znají.

Proč to používáme

Nejdražší chyby integrace vznikají z nedorozumění, ne z technologií.

Kdy to dává smysl

Vždy, když dva týmy sdílejí zprávy.

Kde se to láme

  • Pojmenovat událost podle tabulky nebo obrazovky.
  • Používat jedno slovo pro dvě věci.
  • Přebírat názvy od dodavatele systému bez překladu.

Představme si

Pro poradce je „žádost“ rozhovor s klientem, pro Risk až odeslaná MortgageApplicationSubmitted. Je dobré, když to zpráva říká jasně.

Nejprve se shodneme na slovech, potom na formátu.

Princip, aplikace a cvičení

Co patří dovnitř a co ven

Uvnitř služby mluvíme po svém. Ven publikujeme stabilní, pojmenovaný a verzovaný kontrakt.

Anti-vzor

  1. Doménová událostIncomeChanged
  2. Broker
  3. Risk Servicerozbije se po refaktoringu

Překlad

  1. Doménová událostApplicationSubmitted
  2. Překladanti-corruption
  3. Integrační událostMortgageApplicationSubmitted v1
  4. Risk Service

Trade-offPřeklad navíc je práce a další místo k údržbě. Chrání nás před tím, aby každý refaktoring rozbil cizí služby.

TakeawayInterní model můžeme měnit. Veřejný kontrakt ne.

Více k tématu

Co to znamená

Doménové události popisují, co se stalo uvnitř agregátu. Integrační události jsou veřejné zprávy s pevným tvarem a verzí.

Proč to používáme

Když ostatní služby odebírají interní události, každý refaktoring je rozbije a služby se svážou.

Kdy to dává smysl

Jakmile událost opouští hranici služby.

Kde se to láme

  • Publikování interních událostí do brokeru.
  • Integrační událost s tvarem databázové tabulky.
  • Změna kontraktu bez verzování.

Představme si

Kalkulačka přejmenuje pole s příjmem. Risk Service dál dostává stejnou MortgageApplicationSubmitted a nic nepozná.

Co sdílíme se světem, musíme držet stabilnější než to, co máme doma.

Školení pro váš tým

Chcete školení pro svůj tým?

Školení vedeme na vašem kódu a vašem doménovém problému. Domluvíme rozsah, termín a formu.

Probrat školení