Archyno
UMLDiagramy štruktúry

UML diagramy zloženej štruktúry

Vnútro jednej veci. Jej časti, porty na jej okraji a konektory, ktoré ich spájajú - diagram na vysvetlenie toho, ako je jeden komponent naozaj postavený.

6 min čítaniaUML 2.5.125 z 35

Krátka odpoveď

  • Časť je rola, ktorú inštancia hrá vnútri jednej nádoby, nie typ. Tá istá trieda sa môže objaviť dvakrát ako dve rôzne pomenované časti.
  • Montážny konektor je vnútorné zapojenie medzi dvoma časťami; delegačný konektor prekračuje hranicu a preposiela.
  • Delegovanie je spôsob, akým celok napĺňa rozhranie bez toho, aby prácu robil: to, čo príde na port, spracuje časť vnútri.
  • Tento diagram kreslite vtedy, keď je otázkou, čo je vnútri jednej veci. Diagram komponentov odpovedá na to, ako do seba zapadá viac vecí.
UML diagram zloženej štruktúry ukazujúci vnútro orchestrátora platieb. Vstupný port na ľavej hranici deleguje cez IPayment na časť Authorizer, ktorá sa spája s časťou RiskCheck a potom s časťou LedgerClient, ktorá deleguje cez ILedger na výstupný port na pravej hranici.
Jeden klasifikátor, otvorený. Malé štvorčeky na hranici sú porty; šípky, ktoré ju prekračujú, sú delegačné konektory odovzdávajúce vonkajší kontrakt vnútornej časti.

01Čo ukazuje#

Diagram zloženej štruktúry odpovedá na jednu otázku: z čoho je táto vec vnútri poskladaná? Vezme jediný klasifikátor - triedu, komponent, podsystém - a nakreslí jeho vnútorné časti a to, ako sú zapojené.

Oplatí sa mať jasno v rozdiele oproti diagramom po oboch jeho stranách. Diagram tried ukazuje typy a vzťahy medzi nimi, vo všeobecnosti. Diagram komponentov ukazuje viacero komponentov a kontrakty medzi nimi. Diagram zloženej štruktúry priblíži jeden z nich a ukáže behovú štruktúru vnútri neho.

02Časti, porty, konektory#

PrvokNotáciaČo znamená
Časťobdĺžnik vnútri rámuRola hraná vnútri vlastníka, písaná roleName: Type. V rohu môže niesť násobnosť.
Portmalý štvorček na hraniciPomenovaný bod interakcie. Všetko, čo prekračuje hranicu, ide cez jeden, a práve to robí hranicu zmysluplnou.
Konektorčiara medzi časťamiKomunikačná cesta medzi dvoma časťami vnútri vlastníka.
Delegačný konektorčiara z portu na časťPrevádzku prichádzajúcu na tento vonkajší port spracúva tamtá vnútorná časť. Vonkajšok sa nikdy nedozvie, ktorá.
Montážny konektorguľôčka v objímkePoskytované rozhranie jednej časti zapojené do požadovaného rozhrania druhej.
Kolaboráciačiarkovaná elipsaPomenovaný vzor rolí - štrukturálna polovica návrhového vzoru, bez toho, aby ste sa zaviazali ku konkrétnym triedam.

03Prečo sú porty tou užitočnou časťou#

Port je malý štvorček a robí viac práce, než na aký vyzerá. Hovorí: toto je jediná cesta dovnútra. Nič zvonku sa nedostane priamo k časti; všetko prichádza na port a je delegované dovnútra.

To vytvára vlastnosť, kvôli ktorej tento diagram existuje. Vonkajšok boxu závisí len od portov, takže celé vnútro sa dá prestavať - časti rozdeliť, zlúčiť, vymeniť - bez toho, aby sa vonku čokoľvek zmenilo, pokiaľ si porty udržia svoje kontrakty. Je to zapuzdrenie nakreslené ako geometria.

Porty tiež umožňujú jednému komponentu ukázať niekoľko odlišných tvárí. Orchestrátor platieb s portom verejného API, administrátorským portom a portom na publikovanie udalostí hovorí niečo presné o svojej ploche a o tom, s ktorými z nich musí firewall alebo autorizačná politika zaobchádzať inak.

04Kedy taký nakresliť#

Siahnite po ňom, keď

  • Vysvetľovanie, ako je jeden nesamozrejmý komponent vnútri postavený
  • Návrh niečoho, kde sa ten istý typ objavuje v dvoch rozdielnych rolách
  • Zdokumentovanie komponentu s viacerými odlišnými bodmi interakcie
  • Vstavané systémy, telekomunikácie alebo práca s protokolmi, kde je tento diagram naozaj nosný

Siahnite po niečom inom, keď

  • Vnútrom sú tri triedy so zrejmými vzťahmi - stačí diagram tried
  • Ukazujete viacero komponentov, nie vnútro jedného - použite diagram komponentov
  • Zaujímavou časťou je to, čo sa deje v čase, nie zapojenie
  • Nikto sa nepýtal, ako vnútro funguje

Toto je jeden z menej používaných UML diagramov a celkom oprávnene - väčšina komponentov nemá zaujímavú vnútornú štruktúru. Keď ju však niektorý má, nič iné ju nevyjadrí tak priamo, a alternatívou býva odsek prózy, ktorý si nikto neprečíta dvakrát.

Po jednom riadku na každé

  1. 01Ukazuje vnútro presne jedného klasifikátora: jeho časti, porty a zapojenie.
  2. 02Časti sú roly hrané za behu, nie triedy - tá istá trieda môže byť dvoma časťami.
  3. 03Porty sú jedinými prechodmi cez hranicu, a práve to robí hranicu skutočnou.
  4. 04Delegačné konektory odovzdávajú vonkajší kontrakt vnútornej časti.
  5. 05Prestavať vnútro je zadarmo, pokiaľ si porty udržia svoje kontrakty.

05Časté otázky#

Aký je rozdiel medzi časťou a triedou?

Časť je rola, ktorú hrá inštancia vnútri jedného konkrétneho obsahujúceho klasifikátora, nie typ sám osebe. Tá istá trieda sa môže objaviť ako dve rôzne časti jedného celku, každá s vlastným názvom a násobnosťou, pretože diagram je o vnútornej štruktúre nádoby, nie o typoch.

Čo je delegačný konektor?

Konektor z portu na vonkajšom okraji na port alebo časť vnútri. Hovorí, že čokoľvek príde zvonku, spracuje tá vnútorná časť - a takto celok napĺňa rozhranie bez toho, aby prácu robil sám.

Aký je rozdiel medzi montážnym a delegačným konektorom?

Montážny konektor spája dve časti vnútri celku a zapája vyžadované rozhranie jednej do poskytovaného rozhrania druhej. Delegačný konektor prekračuje hranicu a spája vonkajší port s niečím vnútri. Montáž je vnútorné zapojenie; delegovanie je preposielanie.

Kedy nakresliť tento diagram namiesto diagramu komponentov?

Keď je otázkou, čo je vnútri jednej veci, a nie ako do seba zapadá viac vecí. Diagram komponentov ukazuje časti systému a ich zmluvy; diagram zloženej štruktúry jednu z tých častí otvorí a ukáže, ako je postavená.

V tejto sérii

Súvisiace články

Všetky články