Design patterns Flashcards

1
Q

Factory

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Abstract Factory

A

Abstract Factory - designový vzor, který umožňuje vytvořit skupinu souvisejících nebo závislých objektů pomocí abstraktní factory třídy.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Builder

A

Builder - designový vzor, který umožňuje krokové vytvoření složitých objektů pomocí konkrétního builderu.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Prototype

A

Prototype - designový vzor, který umožňuje vytvořit novou instanci objektu kopírováním již existující instance.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Singleton

A

Singleton - designový vzor, který umožňuje vytvořit pouze jednu instanci třídy a poskytuje globální přístup k ní.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Dependency injection

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Iterator

A

iterator - abstrakce procházení datové struktury od její implementace

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Chain of responsibility

A

Chain of responsibility - vytvoření řetězu komponent, které postupně
zpracovávají požadavek

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Strategy

A

Strategy - dynamické změny chování komponenty (nebo jejího algoritmu) v
průběhu běhu programu

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Visitor

A

Visitor - oddělení algoritmu od datové struktury na které pracuje

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Observer

A

Observer - propojení změnu stavu komponenty s komponentami reagujícími
na tuto změnu

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Template method

A

Template method - předepisuje abstraktní metody pro variantní části chování

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

State

A

State - implementace principů stavového automatu pomocí OOP

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Memento

A

Memento - navrácení objektu k jeho předcházejícímu stavu (undo/redo)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Interpreter

A

Interpreter - zpracování (vyhodnocování) vět vytvořených v určitém jazyce

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Adapter

A

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.

17
Q

Proxy

A

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

18
Q

Bridge

A

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

19
Q

Composite

A

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.

20
Q

Facade

A

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.

21
Q

Decorator

A

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

22
Q

Flyweight

A

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é.

23
Q

Lazy loading

A

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.

24
Q

Object pool

A

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.

25
Q

Cache

A

Cache použijeme v případě, že chceme načíst resource nebo data jednou, ale používat vícekrát. Jedná se o
další design pattern, který se hojně používá pro zlepšení performance.
Cache funguje takto: Aplikace požaduje data z cache pomocí klíče. Pokud klíč není nalezen, aplikace načte
data z externího zdroje dat (pomalého) a vloží je do cache. Další požadavek na klíč je obsluhován z cache.

26
Q

Materialised view

A

Vzor materializovaného pohledu (materialized view) je technika, která se používá pro optimalizaci dotazů na databázi. Materializovaný pohled je kopií dat z jedné nebo více tabulky, která je uložena v databázi a může být aktualizována pomocí automatického nebo ručního procesu. Tím se zrychluje vykonání dotazů na tyto data, protože data jsou předem zpracována a není nutné je znovu vyhledávat v základních tabulkách. Tento vzor se často používá pro databáze velkých rozměrů a pro dotazy, které se opakují.

27
Q

event sourcing

A

Event sourcing v objektově orientovaném programování je technika, která se zaměřuje na ukládání stavu aplikace jako sekvence událostí, nikoli jako aktuální stav. Tato technika umožňuje snadnou audtitu a reprodukci stavu aplikace v jakémkoli okamžiku. Uživatel má možnost prohlédnout si historii změn aplikace, což může být užitečné například pro diagnostiku chyb nebo pro zpětné zavedení změn

28
Q

CQRS

A

CQRS (Command Query Responsibility Segregation) je architektonický vzor, který rozděluje logiku pro úpravu dat a pro dotazy na data do oddělených systémů. Toto rozdělení umožňuje větší flexibilitu a snadnější zpracování velkého množství dat. Při použití CQRS, systém pro úpravu dat (tzv. Command) a systém pro dotazy na data (tzv. Query) jsou nezávislé, což umožňuje větší skalovatelnost a vyšší výkon.

29
Q

saga

A

Saga design pattern je vzor, který se používá pro řešení složitých transakcí, které se skládají z více kroků a které mohou mít vliv na více systémů. Tento vzor zajišťuje, že pokud se některý z kroků nezdaří, dojde k reverzi všech provedených kroků, aby se systém vrátil do původního stavu.

30
Q

Simple Factory

A

Simple Factory - jednoduchý způsob vytvoření instancí třídy pomocí factory metody.

31
Q

Factory Method

A

Factory Method - designový vzor, který umožňuje vytvořit instanci třídy pomocí factory metody, která je definována v rozhraní nebo abstraktní třídě.