Hirdetés
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- Luck Dragon: Óraátállítás
- NvidiaRTX: Xiaomi Electric Scooter 6 Max: Az első rollerem
- Magga: PLEX: multimédia az egész lakásban
- Luck Dragon: MárkaLánc
- sziku69: Szólánc.
- Candy: AOOSTAR WTR PRO – NAS, alkoss, gyarapíts
- bambano: Bambanő háza tája
Új hozzászólás Aktív témák
-
Peter Kiss
őstag
válasz
Speeedfire
#9910
üzenetére
Static dolgok használata könnyen gyorsan spagetti kódot eredményez, fogalmad sem lesz, mi zajlik a rendszerben, tesztelhetőségről ne is beszéljünk.
A másik, hogy ha ezt a kérés során folyamatosan használod mondjuk 5 alkalommal, akkor ötször fog ez így lefutni?
Kódírás folyamán mindig érdemes lefektetni pár szabályt, amit betartasz, pl.:
static változóba nem rakok semmit, ami állapotot tárol (singleton is kinyírva)
static csak olyan lehet, ami valamilyen service-szel kapcsolatos (nálam ilyen a Path osztály, ez csak a mappák, fájlok neveit machinálja string-ként, az IsAdmin cuccod ilyesmi, de rossz a megközelítés*)Ezeket igyekszem mindig betartani, de a saját kis reflection kiegészítésem miatt én is tárolok dolgokat static változóban, de azok nem is változnak, amíg az osztály maga nem változik meg. Érdemes úgy tekinteni a static elemekre ilyen szempontból, mintha a PHP nem shared nothing elveket vallana.
---
Static cuccokkal van olyan gond, hogy simán keresztülhúzod az OO elveket. Most egy felhasználóról akarod megmondani, hogy admin avagy nem admin úgy, hogy gyakorlatilag kiszeded az egészet a rendeltetési helyéről, hiszen maga a User meg tudja mondani magáról az-e, ahogyan ez látszik is.
A kereted ad hozzáférést egy user nevű field-hez, az mi? Nem tudod egész véletlenül megmondani a rendszernek, hogy oda egy profibb objektumot toljon be? Mert akkor ennyi lenne: Yii::app()->user->admin; és nincs ez a static borzalom benne a rendszerben.Maga a design is lehet rossz: nem egy bit kell arra, hogy admin-e, hanem hegeszteni kell olyan Role rendszert, amibe ezt szépen bele lehet kódolni.
---
Én is használtam Singleton-t, de utána alig bírtam kiírtani a rendszerből, nagyon rossz ötlet. Nem tudom, mennyire jött át a dolog, de ha most nem, majd rájössz.

Új hozzászólás Aktív témák
- Újszerű Asus Rog Ally Xbox (2028 decmberig Garis)
- AKCIÓ 03.30-ig!!! Intel Core ULTRA 9 285K +2x16GB 7600MHz Patriot Viper XTREME 5! (Bolti ár: 600e!)
- AKCIÓ 03.30-ig!!! Intel Core ULTRA 9 285K +2x16GB 7600MHz Patriot Viper XTREME 5! (Bolti ár: 600e!)
- 0 perces COOLER MASTER 650W MWE V2 minőségi tápegység! GAR/SZÁMLA (Te nevedre)! 12V: 54A!
- AKCIÓ 03.30-ig!!! Intel Core ULTRA 5 225F +32GB DDR5 kit +hűtött VRM-es alaplap! GAR/SZÁMLA!
- Lenovo ThinkPad L13 Gen 3 13,3" - i3 1215U, 8GB RAM, SSD, jó akku, Thunderbolt 4 - számla, 6 hó gar
- AKCIÓ! 64GB Corsair Vengeance LPX 3200Mhz DDR4 memória garanciával hibátlan működéssel
- Gainward RTX 5060 Ti Python III 16GB GDDR7 128bit (NE7506T019T1-GB2061T) Videokártya
- Honor Magic5 Lite / 6/128GB / Kártyafüggetlen / 12Hó Garancia
- 262 - Lenovo LOQ (17IRX10) - Intel Core i7-14700HX, RTX 5070
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

