Návrhový vzor: Porovnání verzí

Smazaný obsah Přidaný obsah
m →‎Historie: odkaz na heslo Observer
m slovosled, rozlišovač
Řádek 1:
{{Upravitupravit}}
 
V softwarovém inženýrství, '''návrhovýNávrhový vzor''' ({{Vjazycevjazyce|en}} {{Cizojazyčněcizojazyčně|en|design pattern}}) v [[softwarové inženýrství|softwarovém inženýrství]] představuje obecné řešení problému, které se využívá při návrhu [[software|počítačových programů]]. Návrhový vzor není [[knihovna (programování)|knihovnou]] nebo částí [[zdrojový kód|zdrojového kódu]], která by se dala přímo vložit do našeho programu. Jedná se o popis řešení problému nebo šablonu, která může být použita v různých situacích. [[objektově orientované programování|Objektově orientované]] návrhové vzory typicky ukazují vztahy a interakce mezi [[třída (programování)|třídami]] a [[Objekt (programování)|objekty]], aniž by určovaly implementaci konkrétní třídy. [[algoritmus|Algoritmy]] nejsou považovány za návrhové vzory, protože řeší konkrétní problémy a nikoliv problémy návrhu.
 
Návrhové vzory nepocházejí ze softwarového inženýrství – jsou zcela běžné v každodenním životě. K asi nejznámějším a nejstarším příkladům patří [[architektura]]. [[gotika|Gotickou]] katedrálu poznáte už zdaleka právě proto, že tehdejší architekti a jejich [[stavební huť|stavební hutě]] používali stejných návrhových vzorů.
Řádek 69 ⟶ 70:
* ''[[Prostředník (návrhový vzor)|Mediator (Prostředník)]]'' – Umožňuje zajistit komunikaci mezi dvěma komponentami programu, aniž by byly v přímé interakci a tím musely přesně znát poskytované metody.
* ''Memento (Memento)'' – Bez porušování zapouzdření zachyťte a uložte do externího objektu interní stav objektu tak, aby ten objekt mohl být do tohoto stavu kdykoliv později vrácen.
* [[Null_ObjectNull Object|Null Object (Prázdný objekt)]] – Jde o objekt, který má fungovat jako základní stav objektu a který je v podstatě náhradou stavu null.
* [[Observer | Observer (Pozorovatel)]] – V případě, kdy je na jednom objektu závislých mnoho dalších objektů, poskytne vám tento vzor způsob, jak všem dát vědět, když se něco změní.
* [[Služebníkslužebník (návrhový vzor)|Servant (Služebník)]] – Definuje společnou funkcionalitu pro skupinu tříd, které většinou nemají společnou rodičovskou třídu.
* [[State|State (Stav)]] – Umožňuje objektu měnit své chování, pokud se změní jeho vnitřní stav. Objekt se tváří, jako kdyby se stal instancí jiné třídy.
* [[Strategy|Strategy (Strategie)]] – Zapouzdřuje nějaký druh algoritmů nebo objektů, které se mají měnit, tak aby byly pro klienta zaměnitelné.