Typy Dependency Injection
Nejvíce používané typy Dependency Injection jsou:
- Constructor injection
- Setter injection
- Interface injection
Nejvíce používané typy Dependency Injection jsou:
Jedná se o jednodušší verzi návrhového vzoru (obecná) tovární metoda.
Použijeme, pokud potřebujeme funkčnost, kterou není schopen dodat konstruktor.
Pokud potřebujeme získat odkaz na objekt, ale z různých důvodů nechceme či nemůžeme použít konstruktor.
Pokračování textu Návrhové vzory: Jednoduchá (statická) tovární metoda
Existují případy, kdy potřebujeme dovolit vytvoření pouze jedné instance třídy. V tomto případě použijeme vzor Singleton.
Vlastnosti třídy typu Singleton:
getInstance()
with the keyword static
. This allows the subclassing of the class Singleton
in the example—
Běžná třída
class Automobile { private $manufacturer; private $model; public function __construct($manufacturer, $model) { $this->manufacturer = $manufacturer; $this->model = $model; } public function getMakeAndModel() { return $this->manufacturer . ' ' . $this->model; } }
Třída továrny
class AutomobileFactory { public static function create($manufacturer, $model) { return new Automobile($manufacturer, $model); } }
Použití
$skoda = AutomobileFactory::create('Skoda', 'SuperB'); print_r($skoda->getMakeAndModel());
Návrhové vzory (angl. design patterns) představují ověřený postup řešení (algoritmus) určité situace.
Návrhové vzory dělíme do několika skupin:
Objekty určené k uložení jiných objektů.