- OLED TV topic
- Vezetékes FEJhallgatók
- TCL LCD és LED TV-k
- Milyen házat vegyek?
- Androidos tablet topic
- Hibajavításokra fókuszál az új Arc meghajtó
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- Kormányok / autós szimulátorok topikja
- Milyen billentyűzetet vegyek?
- Kiegészítette az öregedő professzionális Radeonokat az AMD
Új hozzászólás Aktív témák
-
Peter Kiss
őstag
Nekem bűzlik ez a példa, mert ránézve hard code-olt az egész.
Maga a configuration injection is elég nehézkes, de itt főleg, gyakorlatilag tesztelhetetlen configfájl nélkül. Biztosan nem tenném bele a Settings::getInstance(); hívást, hagyni kell a getFactorynak (vagy másnak) egy olyan pontot, ahol kódból bele tudom tolni az aktuális lehetséges válaszokat. (Ez a Settings cucc azért nincs itt, mert a factory-k mellett nincs nagy jelentősége, minden látható, ami kell belőle.) A másik, ami problémás lehet, az a switch-case; ha valaki ilyet lát, akkor gondolkodjon el azon, hogy ezt biztosan lehet máshogyan is.
Például, ha én csinálnám, akkor valószínűleg egy Activator vagy valamilyen más osztályt írnék, ami a konfigurációban szereplő adatok alapján tudna létrehozni objektumokat, nem pedig így hard code-olva switch-case-zel, ezt nagyon nehéz módosítani.
Factory se static lenne szerintem, hanem egy DI container-től el tudnám kérni az összes elemet, ami kellene.
DB_Abstraction_AbstractFactory-nak private constructor-t rak, de ennek ellenére pár sorral lejjebb példányosítja, aha.
A require hívásokról ne is beszéljünk...
Új hozzászólás Aktív témák
- Csere-Beszámítás! Playstation 5 Lemezes kiadás!
- Bomba ár! Dell Precision 5520 - i7-HQ I 16GB I 512SSD I 15,6" FHD I M1200 4GB I Cam I W10 I Gari!
- Dell Vostro 3520 notebook Core i3-1215U processzorral eladó
- Bomba ár! Dell Latitude E7470 - i7-6GEN I 16GB I 256GB SSD I 14" FHD I HDMI I CAM I W11 I Gari!
- AudioQuest Boxer SUB kábel - 2 m (197cm)
- Intel Processzorok sok db : Xeon E5-1620V3, Pentium G4400T, i3 6100, i3-4130, i3-2140T
- iPhone 13 mini 128GB Green -1 ÉV GARANCIA - Kártyafüggetlen, MS3088
- 121 - Lenovo Legion Pro 5 (16ARX8) - AMD Ryzen 7 7745HX, RTX 4070 - 4 év garancia
- Surface Pro 7+ i5-1135G7 16G 256GB 1 év garancia
- Azonnali készpénzes Sony Playstation 5 lemezes és digitális felvásárlás személyesen/csomagküldéssel
Állásajánlatok
Cég: FOTC
Város: Budapest