Archyno
UMLDiagramy struktury

UML diagramy složené struktury

Vnitřek jedné věci. Její části, porty na jejím okraji a konektory, které je spojují - diagram k vysvětlení toho, jak je jedna komponenta doopravdy postavená.

6 min čteníUML 2.5.125 z 35

Krátká odpověď

  • Část je role, kterou instance hraje uvnitř jedné nádoby, ne typ. Táž třída se může objevit dvakrát jako dvě různě pojmenované části.
  • Montážní konektor je vnitřní zapojení mezi dvěma částmi; delegační konektor překračuje hranici a přeposílá.
  • Delegování je způsob, jakým celek naplňuje rozhraní, aniž by práci dělal: to, co přijde na port, zpracuje část uvnitř.
  • Tento diagram kreslete tehdy, když je otázkou, co je uvnitř jedné věci. Diagram komponent odpovídá na to, jak do sebe zapadá více věcí.
UML diagram složené struktury ukazující vnitřek orchestrátoru plateb. Vstupní port na levé hranici deleguje přes IPayment na část Authorizer, která se spojuje s částí RiskCheck a pak s částí LedgerClient, která deleguje přes ILedger na výstupní port na pravé hranici.
Jeden klasifikátor, otevřený. Malé čtverečky na hranici jsou porty; šipky, které ji překračují, jsou delegační konektory předávající vnější kontrakt vnitřní části.

01Co ukazuje#

Diagram složené struktury odpovídá na jednu otázku: z čeho je tahle věc uvnitř poskládaná? Vezme jediný klasifikátor - třídu, komponentu, podsystém - a nakreslí jeho vnitřní části a to, jak jsou zapojené.

Vyplatí se mít jasno v rozdílu oproti diagramům po obou jeho stranách. Diagram tříd ukazuje typy a vztahy mezi nimi, obecně. Diagram komponent ukazuje několik komponent a kontrakty mezi nimi. Diagram složené struktury přiblíží jeden z nich a ukáže běhovou strukturu uvnitř něj.

02Části, porty, konektory#

PrvekNotaceCo znamená
Částobdélník uvnitř rámuRole hraná uvnitř vlastníka, psaná roleName: Type. V rohu může nést násobnost.
Portmalý čtvereček na hraniciPojmenovaný bod interakce. Všechno, co překračuje hranici, jde přes jeden, a právě to dělá hranici smysluplnou.
Konektorčára mezi částmiKomunikační cesta mezi dvěma částmi uvnitř vlastníka.
Delegační konektorčára z portu na částProvoz přicházející na tenhle vnější port zpracovává tamta vnitřní část. Vnějšek se nikdy nedozví, která.
Montážní konektorkulička v objímcePoskytované rozhraní jedné části zapojené do požadovaného rozhraní druhé.
Kolaboracečárkovaná elipsaPojmenovaný vzor rolí - strukturní polovina návrhového vzoru, aniž byste se zavázali ke konkrétním třídám.

03Proč jsou porty tou užitečnou částí#

Port je malý čtvereček a dělá víc práce, než na jakou vypadá. Říká: tohle je jediná cesta dovnitř. Nic zvenku se nedostane přímo k části; všechno přichází na port a je delegováno dovnitř.

To vytváří vlastnost, kvůli které tenhle diagram existuje. Vnějšek boxu závisí jen na portech, takže celý vnitřek se dá přestavět - části rozdělit, sloučit, vyměnit - aniž by se venku cokoli změnilo, pokud si porty udrží své kontrakty. Je to zapouzdření nakreslené jako geometrie.

Porty také umožňují jedné komponentě ukázat několik odlišných tváří. Orchestrátor plateb s portem veřejného API, administrátorským portem a portem na publikování událostí říká něco přesného o své ploše a o tom, se kterými z nich musí firewall nebo autorizační politika zacházet jinak.

04Kdy takový nakreslit#

Sáhněte po něm, když

  • Vysvětlování, jak je jedna nesamozřejmá komponenta uvnitř postavená
  • Návrh něčeho, kde se tentýž typ objevuje ve dvou rozdílných rolích
  • Zdokumentování komponenty s několika odlišnými body interakce
  • Vestavěné systémy, telekomunikace nebo práce s protokoly, kde je tenhle diagram opravdu nosný

Sáhněte po něčem jiném, když

  • Vnitřkem jsou tři třídy se zřejmými vztahy - stačí diagram tříd
  • Ukazujete několik komponent, ne vnitřek jedné - použijte diagram komponent
  • Zajímavou částí je to, co se děje v čase, ne zapojení
  • Nikdo se neptal, jak vnitřek funguje

Tohle je jeden z méně používaných UML diagramů a docela oprávněně - většina komponent nemá zajímavou vnitřní strukturu. Když ji ale některá má, nic jiného ji nevyjádří tak přímo, a alternativou bývá odstavec prózy, který si nikdo nepřečte dvakrát.

Po jednom řádku na každé

  1. 01Ukazuje vnitřek přesně jednoho klasifikátoru: jeho části, porty a zapojení.
  2. 02Části jsou role hrané za běhu, ne třídy - tatáž třída může být dvěma částmi.
  3. 03Porty jsou jedinými přechody přes hranici, a právě to dělá hranici skutečnou.
  4. 04Delegační konektory předávají vnější kontrakt vnitřní části.
  5. 05Přestavět vnitřek je zadarmo, pokud si porty udrží své kontrakty.

05Časté dotazy#

Jaký je rozdíl mezi částí a třídou?

Část je role, kterou hraje instance uvnitř jednoho konkrétního obsahujícího klasifikátoru, ne typ sám o sobě. Táž třída se může objevit jako dvě různé části jednoho celku, každá s vlastním názvem a násobností, protože diagram je o vnitřní struktuře nádoby, ne o typech.

Co je delegační konektor?

Konektor z portu na vnějším okraji na port nebo část uvnitř. Říká, že cokoli přijde zvenčí, zpracuje ta vnitřní část - a takto celek naplňuje rozhraní, aniž by práci dělal sám.

Jaký je rozdíl mezi montážním a delegačním konektorem?

Montážní konektor spojuje dvě části uvnitř celku a zapojuje vyžadované rozhraní jedné do poskytovaného rozhraní druhé. Delegační konektor překračuje hranici a spojuje vnější port s něčím uvnitř. Montáž je vnitřní zapojení; delegování je přeposílání.

Kdy nakreslit tento diagram místo diagramu komponent?

Když je otázkou, co je uvnitř jedné věci, a ne jak do sebe zapadá více věcí. Diagram komponent ukazuje části systému a jejich smlouvy; diagram složené struktury jednu z těch částí otevře a ukáže, jak je postavená.

V této sérii

Související články

Všechny články