Hirdetés
Új hozzászólás Aktív témák
-
Tele von Zsinór
őstag
válasz
Sk8erPeter
#9922
üzenetére
A service locator patternre hozott példát, hogy hogy működik ez .NET alatt. Feltételezem, a kód C#-ból van, ott van ilyen szintaxisa a template-eknek. Első ránézésre valahol a Factory és a Dependency Injection keverékének tűnik.
Lambda, vagy más néven névtelen függvények. A php világban leginkább closure néven ismertek.
Becsatlakozva kicsit az épp folyó témába: nagyon sokáig használtam én is singletonokat, leginkább a már említett adatbázis-kapcsolat miatt, mert hogy abból legfeljebb egyet akarunk egy request során. Aztán amikor elkezdtem belemászni a tesztelésbe, meg láttam, mennyire is nehéz az ilyenekre épülő kódhoz unit testet írni (avagy: lehetetlen), gyorsan leszoktam róla.
Jelenleg a Dependency Injection a leginkább használt mintám, erre egy gyors és könnyen érthető megvalósítás a Pimple. Pár sorral megoldható, hogy a $app["log"] első híváskor példányosítsa a logger osztályt, a többi meg ugyanazt kapja vissza - mock osztályokkal innentől nagyon könnyen tudom például azt tesztelni, hogy egy service x függvénye y paraméterekkel meghívja-e annyiszor a loggert, ahányszor kell. Analóg módon az adatbázist (mondjuk $app["db"]) is le tudom cserélni a tesztek alatt egy erre tökéletes (akár tömbökkel működő) implementációra, amivel pontosan azt tudom tesztelni, amit akarok: a controllereimet.
És ez csak a felszín. Nagyon érdemes utánaolvasni részletesebben, kezdésnek Fabien Potencier cikksorozatának első két részét ajánlom.
Új hozzászólás Aktív témák
- Dell Optiplex 7050 SFF + Quadro K620
- ÁRGARANCIA!Épített KomPhone i9 14900KF 32/64GB DDR5 RAM RTX 5070 12GB GAMER PC termékbeszámítással
- Telefon felvásárlás!! Samsung Galaxy S25, Samsung Galaxy S25 Plus, Samsung Galaxy S25 Ultra
- HIBÁTLAN iPhone 12 Mini 64GB Green -1 ÉV GARANCIA - Kártyafüggetlen, MS3453, 100% Akkumulátor
- Samsung Galaxy Tab A8 32GB, Újszerű, 1 Év Garanciával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


