Skip to content

Instantly share code, notes, and snippets.

@Kcko
Last active March 28, 2020 21:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Kcko/640625aca4b9c3ce97e96fa81acedd1b to your computer and use it in GitHub Desktop.
Save Kcko/640625aca4b9c3ce97e96fa81acedd1b to your computer and use it in GitHub Desktop.

Abstract Factory (Abstraktní továrna)

Vytváří rodiny příbuzných objektů.

Builder (Stavitel)

Odděluje tvorbu komplexních objektů od jejich reprezentace.

Factory Method (Tovární metoda)

Deleguje vytváření objektů na potomky.

Prototype (Prototyp)

Vytváří objekty kopírováním prototypového objektu.

Singleton (Jedináček)

Zabezpečuje, že existuje jen jedna instance určité třídy.

##Adapter (Adaptér) Upraví rozhraní na rozhraní očekávané klientem.

Bridge (Most)

Oddělí rozhraní třídy od její vlastní implementace, při čemž lze obě nezávisle na sobě změnit.

Composite (Strom)

Spojuje více objektů do stromové struktury, kterou lze použít jako jeden objekt.

Decorator (Dekorátor)

Rozšiřuje objekty za běhu programu o novou funkčnost.

Facade (Fasáda)

Nabízí abstraktní rozhraní, které zjednodušuje používání určitého subsystému.

Flyweight (Muší váha)

Umožňuje společné použití malých objektů.

Proxy (Zástupce)

Kontroluje přístup k objektu pomocí zástupce:

  • přístup k objektu na jiném serveru (Remote Proxy),
  • vytvoření objektu až v okamžiku potřeby (Virtual Proxy),
  • vykonávání administrativních úloh (Secure Proxy).

Chain of Responsibility (Zřetězení zodpovědnosti)

Umožňuje odeslat požadavek řetězu objektů. Zřetězené objekty samy rozhodnou, kter ý z nich jej zpracuje.

Command (Příkaz)

Zapouzdřuje požadavek jako objekt.

Interpreter (Interpret)

Definuje gramatické pravidla a určuje způsob jejich interpretace.

Iterator (Iterátor)

Umožňuje sekvenční přístup k prvkům objektu bez znalosti jeho implementace.

Mediator (Prostředník)

Zajišťuje komunikaci mezi dvěma objekty, které nemusí být v přímé interakci a znát poskytované metody.

Memento (Memento)

Zachytává a uchovává vnitřní stav objektu bez porušení jeho zapouzdření.

Observer (Pozorovatel)

Umožňuje šíření událostí, které nastaly v jednom objektu, na všechny na něm závislé objekty.

State (Stav)

Umožňuje změnit chování objektu při změně jeho vnitřního stavu.

Strategy (Strategie)

Definuje rodinu algoritmů, které jsou navzájem zaměnitelné.

Template method (Šablonová metoda)

Definuje kroky určitého algoritmu a přenechává jejich implementaci svým potomkům.

Visitor (Návštěvník)

Přidává do objektové struktury novou funkčnost a zapouzdří ji do třídy.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment