Design patterns Flashcards
Factory
Vzor továrny je návrhový vzor v programování, který se používá k vytvoření objektů. Tovární metoda umožňuje aplikaci vytvořit objekt bez nutnosti znát konkrétní třídu objektu, který se vytvoří. Místo toho se vytvoří pomocí specifického rozhraní nebo abstraktní třídy.
Abstract Factory
Abstract Factory - designový vzor, který umožňuje vytvořit skupinu souvisejících nebo závislých objektů pomocí abstraktní factory třídy.
Builder
Builder - designový vzor, který umožňuje krokové vytvoření složitých objektů pomocí konkrétního builderu.
Prototype
Prototype - designový vzor, který umožňuje vytvořit novou instanci objektu kopírováním již existující instance.
Singleton
Singleton - designový vzor, který umožňuje vytvořit pouze jednu instanci třídy a poskytuje globální přístup k ní.
Dependency injection
Vzor injekce závislostí je návrhový vzor v programování, který se používá k nahrazování pevných závislostí mezi objekty za proměnné závislosti. Tím se umožňuje snadnější testování a ladění kódu, protože závislosti jsou odděleny od samotného kódu a mohou být snadno nahrazeny testovacími verzemi.
Iterator
iterator - abstrakce procházení datové struktury od její implementace
Chain of responsibility
Chain of responsibility - vytvoření řetězu komponent, které postupně
zpracovávají požadavek
Strategy
Strategy - dynamické změny chování komponenty (nebo jejího algoritmu) v
průběhu běhu programu
Visitor
Visitor - oddělení algoritmu od datové struktury na které pracuje
Observer
Observer - propojení změnu stavu komponenty s komponentami reagujícími
na tuto změnu
Template method
Template method - předepisuje abstraktní metody pro variantní části chování
State
State - implementace principů stavového automatu pomocí OOP
Memento
Memento - navrácení objektu k jeho předcházejícímu stavu (undo/redo)
Interpreter
Interpreter - zpracování (vyhodnocování) vět vytvořených v určitém jazyce
Adapter
Vzor adapter je návrhový vzor v programování, který se používá k přizpůsobení rozhraní jedné třídy nebo objektu rozhraní druhé třídy nebo objektu. Tím se umožňuje spojení dvou různých systémů nebo knihoven, které by jinak nebyly kompatibilní, a používání jednoho systému jako rozšíření nebo náhrada druhého.
Proxy
Vzor proxy je návrhový vzor v programování, který se používá k poskytnutí zprostředkovatele nebo zástupce pro jiný objekt. Tento zprostředkovatel může kontrolovat přístup k tomuto objektu nebo zpřehlednit nebo změnit jeho chování. Tím se umožňuje například omezit přístup k citlivým nebo drahým operacím, implementovat vzdálený přístup nebo poskytnout zprostředkování pro vzdálené objekty
Bridge
Vzor most (bridge) je návrhový vzor v programování, který se používá k oddělení abstrakce od implementace. Tím se umožňuje měnit jednu část systému bez ovlivnění druhé části. Tento vzor se často používá k rozdělení kódu na dvě vzájemně se neovlivňující části, jedna z nich je abstraktní rozhraní a druhá implementace
Composite
Vzor kompozit je návrhový vzor v programování, který se používá k seskupení objektů do stromové struktury pro reprezentaci hierarchických uspořádání. Každý prvek stromu může být jak list, tak i větev (kompozit). Tím se umožňuje jednotné zacházení s jednotlivými prvky i se skupinami prvků. Tento vzor se často používá v grafických uživatelských rozhraních, kde se prvky interagují jako stromová struktura.
Facade
Vzor fasáda (facade) je návrhový vzor v programování, který se používá k poskytnutí jednoduchého a srozumitelného rozhraní pro složitou skupinu tříd, knihoven nebo systému. Tím se umožňuje snadné používání složitého systému bez potřeby znát podrobnosti jeho implementace. Fasáda také může ukrýt nebo omezit přístup k některým částem systému pro zvýšení bezpečnosti nebo snížení složitosti.
Decorator
Vzor dekorátor (decorator) je návrhový vzor v programování, který se používá k dynamickému přidávání nebo odebírání funkcionality z objektu. Tím se umožňuje rozšiřovat nebo měnit chování objektu bez nutnosti měnit samotný kód objektu. Tento vzor se často používá pro rozšiřování funkcí tříd nebo objektů, které jsou uživatelskými rozhraními nebo knihovnami třetích stran.f
Flyweight
Vzor Flyweight (letadlový váha) je návrhový vzor v programování, který se používá k úspoře paměti tím, že sdílí stejné objekty mezi více instancí. Tím se snižuje počet vytvořených objektů a tím i požadavky na paměť. Tento vzor se často používá pro úsporné vytvoření a správu velkého počtu objektů, které jsou si velmi podobné.
Lazy loading
Vzor Lazy Loading (lenivé načítání) je návrhový vzor v programování, který se používá k odložení načítání nebo vytvoření objektu, dokud není skutečně potřeba. Tím se snižuje počet vytvořených objektů a tím i požadavky na paměť a výkon. Tento vzor se často používá pro efektivnější využití paměti a snížení doby načítání aplikace.
Object pool
zásobárna přepoužitelných resources, které jsou náročné na vytvoření a proto si je
po vytvoření raději ponecháme pro další použití místo toho, abychom je likvidovali a vytvářeli znovu a
znovu.