- iPhone topik
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Az Apple bemutatta az iPhone 17-et
- Garmin Fenix 7 és 7S - profi sport megszokásból
- One mobilszolgáltatások
- Google Pixel topik
- Yettel topik
- Redmi Note 12 4G - valaki fizetni fog
- Samsung Galaxy S25 - végre van kicsi!
- Megérkeztek a Xiaomi 15T sorozatának telefonjai Magyarországra
Ú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
- iPhone topik
- Autós topik látogatók beszélgetős, offolós topikja
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Hálózati / IP kamera
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Androidos tablet topic
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- YouTube
- Luck Dragon: Asszociációs játék. :)
- További aktív témák...
- Bomba Ár! HP ProBook 650 G1 - i3-4GEN I 4GB I 120GB SSD I 15,6" HD I Cam I W10 I Garancia!
- LENOVO Legion Pro 5 16IRX8 - 16" WQXGA 240Hz - i5-13500HX - 16GB - 1TB - RTX 4060 - 9 Hó garancia
- Apple iPhone 12 128 GB Fekete 1 év Garancia Beszámítás Házhozszállítás
- iPhone 12 mini 64GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3457, 94% Akkumulátor
- iPhone Air 256GB Égkék 3 ÉV kiterjesztett garancia
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest