Hirdetés
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Telekom mobilszolgáltatások
- Olyan lesz a Google Térkép, mint a segítőkész haver az anyósülésen
- Csőtörés lett a Red Magic 11 Pro gyötréstesztjéből
- Pulzust is mér az Apple AirPods Pro 3
- Motorola Edge 70 - többért kevesebbet
- Amazfit Active 2 NFC - jó kör
- Apple iPhone 17 Pro Max – fennsík
- Dupla kamerával menekülne az iPhone Air a kaszától
Ú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... -
Brown ügynök
senior tag
A Settings osztály getInstance() metódusa egy statikus fv. amit anélkül meghívhatunk, hogy előtte példányosítanánk az osztályt.
Itt ezt úgy sikerült meghívni, hogy vagy egy fájlban van a két osztály vagy include-tuk az osztályt tartalmazó fájlt, esetleg használtuk a namespace importálás szolgáltatását egy kis __autoload()-dal megtámogatva.
Szerk: design patternre én ezt találtam: [link]. Érthető példákat hoz.
Új hozzászólás Aktív témák
- Battlefield 6
- Kínai és egyéb olcsó órák topikja
- Minőségi ugrást hozhat a One új médiaboxa?
- Gitáros topic
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Kutya topik
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Ettől lesz más a tévézés? Teszten a OneTV SoundBox
- Milyen alaplapot vegyek?
- Apple asztali gépek
- További aktív témák...
- iPhone 15 Pro Max 256GB Blue 2db eladó!
- MSI Radeon RX 6950 XT GAMING X 16GB DDR6 Videokártya! BeszámítOK
- -ÚJ,2 ÉV GAR- GAMER PC: RYZEN 7 8700F/9700X/9800X3D +RX 9060XT/9070/9070XT +16-64GB DDR5! SZÁMLA!
- Supermicro MBD-X11SPM-F Alaplap + Intel Xeon3204 6-Core 1.9GHz LGA14B Kit Processzor + 16GB RAM
- Acer Extensa 215-52 (2021) Megkímélt állapot, 1 TB HDD, dobozával!
- MSI RTX 3090 SUPRIM X 24GB GDDR6X eladó!
- ÁRGARANCIA!Épített KomPhone i9 14900KF 64GB RAM RTX 5080 16GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone Ryzen 5 9600X 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone i5 13400F 16/32/64GB RAM RTX 5060 Ti 8GB GAMER PC termékbeszámítással
- HIBÁTLAN iPhone 14 Pro Max 256GB Purple -1 ÉV GARANCIA -Kártyafüggetlen, MS3932, 100% Akkumulátor
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő
A require hívásokról ne is beszéljünk...
![;]](http://cdn.rios.hu/dl/s/v1.gif)


