Skip to content

Instantly share code, notes, and snippets.

Avatar
🐦
fly like a bird ...

Kcko

🐦
fly like a bird ...
View GitHub Profile
View state.php
<?php
// State
/*
Definice
--------
Návrhový vzor State umožňuje objektu změnit chování, změní-li se jeho vnitřní
stav. Navenek se tato změna jeví, jako by objekt změnil svoji třídu.
Pro implementaci tohoto návrhového vzoru jsou nutné následující kroky:
View strategy.php
<?php
/*
Definice
--------
Návrhový vzor Strategy definuje rodinu algoritmů, které zapouzdřuje, a umožňuje
jejich záměnu nezávisle na klientovi, který ji používá.
Pro implementaci tohoto návrhového vzoru jsou nutné následující kroky:¨
View iterator.php
<?php
// Iterator
/*
Definice
--------
Návrhový vzor Iterator umožňuje sekvenčně přistupovat k prvkům složených objektů
bez zveřejnění jejich základní struktury.
View observer.php
<?php
/*
Definice
---------
Návrhový vzor Observer definuje závislost 1:n mezi subjektem a libovolným počtem
View command1.php
<?php
interface Command
{
public function handle() : void;
}
final class CreateListing implements Command
View memento.php
<?php
class Memento
{
private State $state;
public function __construct(State $stateToSave)
{
$this->state = $stateToSave;
}
View command.php
<?php
/*
Definice
Návrhový vzor Command zapouzdřuje jednotlivé požadavky jako objekty. Díky
tomu lze parametrizovat jiné objekty s požadavky, přidávat požadavky do fronty
a podporovat operace, které je možné provádět zpětně.
Pro implementaci tohoto návrhového vzoru jsou nutné následující kroky:
1. Definovat rozhraní pro jednotlivé příkazy.
View template-method.php
<?php
/*
Návrhový vzor Template Method definuje rozhraní algoritmu v metodě a přenechává
implementaci jednotlivých kroků potomkům třídy. Ti mohou jednotlivé části
algoritmu modifikovat, aniž by změnili jeho strukturu.
*/
View mediator.php
<?php
/*
Definice
---------
Návrhový vzor Mediator odstraňuje vzájemné vazby mezi komunikujícími objekty
a tím zajišťuje možnost vzájemné komunikace mezi objekty, které nejsou v přímé
interakci. Zavedením návrhového vzoru Mediator se mění vazby mezi objekty
z typu m:n na 1:n.