[ Valerij Zajcev @ 27.02.2008. 17:12 ] @
Kako da znam kada treba da koristim static (bilo sta)? Primera radi ako imam neki program koji treba da primi ime a ja da ga procitam, zasto ne bih napravio set/get static property i uvek ga pozivao sa klase?
[ mmix @ 27.02.2008. 17:54 ] @
Rule of thumb je da:

ako metod ili property predstavlja fukcionalnu celinu koja ne zavisi od internog stanja objekta svoje klase i drugih instance metoda svoje klase onda moze (i treba) da bude static. U tvom slucaju je bolje resenje singleton pattern.
Problem sa static propertijima koji cuvaju globalne promenljive je thread safety, moze da se desi da jedan thread cita promenljivu dok je drugi zapisuje, a u static metodu nemas pouzdani objekat koji mozes da lock-ujes (dok kod non-static propertija mozes da uradis lock(this), sto ukljucuje i singleton pattern).