up:: PGR

GOF


ABOUT

  • GoF = gang of four
  • vzory pro řešení častých problémů
  • Typy:
    • Tvořivé (creational)
      • Řeší problémy s vytvářením objektů
    • Strukturální (structural)
      • Zaměřené na uspořádání tříd nebo komponent
      • Cílem je zpřehlednit a strukturovat kód
    • Behaviorální (behavioral)
      • Týkající se chování systému

Singleton

Factory

Adapter

Decorator

Fasada

  • Strukturální vzor
  • Používá se tam, kde je stávající subsystém tříd příliš složitý
  • Poskytuje jednotné rozhraní vyšší úrovně ke všem rozhraním tohoto subsystému
  • Klient nemusí komunikovat s jednotlivými rozhraními subsytému, ale pouze s fasádou, která zná strukturu subsystému a volání předává
  • POZOR: rozhraním fasády není míněno interface, fasáda je vždy realizována jako třída
  • př. jednotlivá oddělení banky

Composite

  • Strukturální vzor
  • Umožňuje vytvářet stromovou strukturu reprezentující hierarchii skládající se z jednoduchých a z nich složených objektů
  • Výchozí uzel (kořen)
  • Obsahuje odkazy na potomky:
    • Jednotlivé objekty (listy)
    • Složené objekty (větve)
  • Př. kořen – počítačová sestava, listy – monitor, myš, klávesnice, zdroj, ….)

State

Strategy

  • Behaviorální vzor
  • Základní podmínkou je existence různých řešení stejného problému
  • Strategie mají stejné rozhraní
  • Obvyklý model chování:
    • Zvolení strategie
    • Výchozímu objektu je klientem předán object konkrétní strategie
    • Klient komunikuje poze s výchozím objektem, který využívá object zvoolené strategie
  • Vzor Strategie by měl být užíván pouze tehdy, je-li jeho výsledek přímo svázán s klientem určujícím strategii