Hirdetés
- Tömegterméket csinálna a Samsung az öreg tévés arányból
- Itt vannak az eddigi legrészletesebb képek a Samsung Galaxy A37-ről és A57-ről
- Sózd a jégakkut! Megoldotta a CATL a téli akkuproblémákat
- Két 200 megapixeles kamerát tesz a Xiaomi a 18-as szériába?
- Akciófigyelő: Ajándékok az új Redmi Note 15-ök mellé
- Realme GT 2 Pro - papírforma
- Google Pixel topik
- Google Pixel 9 Pro XL - hét szűk esztendő
- iPhone topik
- 13 év után is kap még frissítést az iPhone 5s! Itt az iOS 12.5.8
- A Samsung is leszámol a 128 GB-os tárhellyel a Galaxy S26-ban
- Szívós, szép és kitartó az új OnePlus óra
- Apple Watch
- One mobilszolgáltatások
- Poco X6 Pro - ötös alá
Ú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
- Lenovo Thinkpad X280, 12,5" FHD IPS, I5-8350U CPU, 8GB DDR4, 256GB-1TB SSD, W11, Számla, 1 év garanc
- ÚJ LG 50UR640S9ZD 50" UHD Üzleti LED TV,Signage,CMS,Reklám kijelző,HDMI,Optika,USB,Wifi,BT,HDR,WebOS
- DJI Mavic 3 Thermal (M3T) Enterprise + RTK modul + 7 akkumulátor
- Iphone 16 pro 256GB natúr titán
- iPhone 12 64 GB független
- Azonnali készpénzes INTEL CPU AMD VGA számítógép felvásárlás személyesen / postával korrekt áron
- GYÖNYÖRŰ iPhone 14 Pro 256GB Deep Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS3959
- Mio Star 8750B Automata kávégép 6 hónap Garancia Beszámítás Házhozszállítás
- Készpénzes / Utalásos Videokártya és Hardver felvásárlás! Személyesen vagy Postával!
- Apple iPhone 13 128GB,Átlagos,Adatkabel,12 hónap garanciával
Állásajánlatok
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs
Cég: Laptopműhely Bt.
Város: Budapest



