Muj zasadni problem s navrhnutym resenim je ze ulpne opomnel dalsi dulezity aspekt a to je SRP. Ono verim tomu ze pro jednoduche veci to funguje hezky ale napriklad ono
$product = Product::get( $id );
co to vrati? Vrati to predpokladam Product jenze co kdyz chci jeden produkt nacitat z vice mist najednou priklad, velky globalni eshop kde v globalnim vyhledavani pouzivame Elasticsearch kuli performance ale zaroven mi nevadi ze data jsou klidne den stara. V samotnem prehledu kde ctu data ze slave repliky kde jsou povetsinou stara par vterin/minut ale pro listovani to staci. A nasledne pri zpracovani objednavky uc pracuji s mastrem kde mam zarucena aktualni data.
Tzn efektivne mam 3 repository z toho 2 jsou read-only a master umoznuje zapis. Pak musim metode get($id) rict i odkud ma nacitat jenze to musi nadrazena komponenta vedet treba ten prehled produktu v kosiku bude komponenta "prehled" pracovat s mastrem pri listovani bude pracovat se slavem takze najednou musim komponente predat informaci zda je v "master rezimu" nebo zda je ve "slave" rezimu pripadne musime udelat
Product:setPersistance("slave")
... naka logika
Product:setPersistance("master")
... jina logika
to mi jako elegantni reseni moc neprijde :/
Přečteno 19 805×
Přečteno 17 747×
Přečteno 17 217×
Přečteno 16 755×
Přečteno 15 399×