Co rozumím návrhu řízenému doménou
On 15 listopadu, 2021 by adminDDD 101
Čím větší projekt, tím těžší je jeho údržba. Způsob, jak si s tím pomoci, je rozdělit aplikaci na menší oblasti podle jejich obchodních pravidel, známých jako domény.
Zásadně je doména oblast znalostí, buď veřejná, jako jsou pravidla šachu, nebo soukromá, jako jsou obchodní pravidla neziskové organizace .
Složitá doména bude pravděpodobně používat znalosti z jiných domén. Například nezisková organizace, která vyučuje šachy online, bude vědět o šachách, o výuce prostřednictvím online platforem a, i když vám jako studentovi nic neúčtuje, o svých financích.
Každá subdoména vaší domény je v DDD známá jako ohraničený kontext, každá má svůj vlastní model světa vytvořený pomocí specializovaných jednotek kódu, známých jako stavební bloky. Zde se zaměřím na entity a hodnotové objekty, na oba lze odkazovat jako na objekty.
Entity jsou objekty, které mají být v rámci domény jedinečné. Toho je dosaženo použitím jedné nebo více propriet pro identifikaci dané entity. Například dva uživatelé používající v systému stejné jméno budou mít vždy různé e-maily, protože e-maily se nemohou opakovat – nejčastěji se entity rozlišují pomocí id a někdy kombinací propriet.
Value-objects naproti tomu nemají identitu, takže k rozlišení dvou instancí lze použít pouze jejich vlastnosti. Vezměme si například dva pěšce (šachový žeton), vypadají stejně, pokud pocházejí ze stejné herní sady a mají stejnou barvu, takže nezáleží na tom, jestli je prohodíte. V DDD jsou hodnotové objekty neměnné, takže je snazší s nimi uvažovat.
Celost dat
Ohraničený kontext nevystavuje všechny své objekty, aby byla zaručena integrita jeho dat. Místo toho vystavuje některé kořeny agregátu jako jakési veřejné rozhraní sebe sama.
Agregát není nic jiného než entita, která se skládá z jiných objektů. Přesněji řečeno, agregát je shluk přidružených objektů, se kterými při změně dat zacházíme jako s jednotkou.
Napsat komentář