$product = Product::get( $id );
a
$product = $product->get( $id );
se liší jen ve filozofii.
V prvém případě mám defakto globální objekt. Veškerá logika rozhodování odkud nebo dokonce co získám je definována vevnitř. Abych tuto logiku mohl nějak ovlivnit musím najít správné místo a šáhnout dovnitř. Nemohu mít dvě instance jen různě nakonfigurované (třeba porovnávat ze dvou různých zdrojů.)
V druhém případě mám instanci. Ta někde vzniká. Což má za důsledek že nejenom že to jde snadno najít, ale taky ten vznik mohu snadno nahradit za své řešení - je to jen proměnná.
Toto:
Product:setPersistance("slave")
... naka logika
Product:setPersistance("master")
... jina logika
je v celku provařená věc. V průběhu času se vám mění chování toho objektu. Velice nepříjemné. Nemám to rád.
Přečteno 20 187×
Přečteno 18 060×
Přečteno 17 488×
Přečteno 17 028×
Přečteno 15 690×