98
DESTILOVANÉ UML
Obrázek 7.2: Diagram balíčků pro podnikovou aplikaci
možná budeme muset změnit třídy uvnitř balíčku doména leasingu. Avšak tato změna nevede nevyhnutelně k dominovému přenosu do prezentace leasingu. (Přenos nastane jen tehdy, pokud se změní rozhraní balíčku doména leasingu.) Některé balíčky jsou používány na tolika místech, že by zakreslení všech závislostí bylo nepřehledné. V tomto případě existuje konvence: na balíčku použijte klíčové slovo, např. «global». Balíčky UML také slouží jako konstrukt, který umožňuje importování a slučování tříd z jednoho balíčku do druhého. To se vyjadřuje pomocí závislosti s klíčovým slovem. Nicméně pravidla pro takovéto záležitosti se v jednotlivých programovacích jazycích značně odlišují. Celkem vzato, mně osobně připadá pro praxi daleko užitečnější hlavní význam závislostí.
7.2 Pohledy v balíčcích Budete-li přemýšlet o obrázku 7.2, uvědomíte si, že diagram má dva druhy struktur. První druh je struktura vrstev v aplikaci: prezentace, doména, mapování dat a databáze. Druhý je struktura věcných oblastí: leasing a aktiva. To můžete zvýraznit oddělením obou pohledů, jak je tomu na obrázku 7.3. Zde jasně vidíme každý z pohledů. Avšak tyto dva pohledy netvoří opravdové balíčky, protože nemůžete přiřazovat třídy k jedinému balíčku. (Museli byste si vybrat po jednom balíčku z každého pohledu.) Tento problém zrcadlí problém hierarchických jmenných prostorů programovacích jazyků. Ačkoli diagramy jako na obrázku 7.3 nejsou v UML standardní, jsou často velmi užitečné při objasňování struktury komplexní aplikace.
7.3 Implementace balíčků Často se setkáte s případem, kdy jeden balíček definuje rozhraní, jež může být implementováno řadou dalších balíčků, jako je tomu na obrázku 7.4. V tomto případě vztah realizace naznačuje, že brána databáze definuje rozhraní, které třídy jiných bran implementují.
7. Diagramy balíčků
Ukázka elektronické knihy, UID: KOS273660