Static sau nu static - stivă overflow în limba rusă

Funcția statică ar trebui să fie folosite atunci când nu aveți nevoie pentru a crea o instanta a clasei. Acest lucru, de exemplu, o clasă auxiliară. Dacă obiectul este creat, care este utilizat de către operator nou:

Cred că în acest exemplu nu face sens crearea statică - metoda.

Și această concluzie din articolul de mai sus:

Când adăugați membrii statici într-o clasă de care aveți nevoie pentru a evalua în cazul în care aceasta conduce la timpul de dezvoltare și în timpul rulării. În curs de dezvoltare trebuie să alegeți cu atenție care membrii vor fi statice, și să depună eforturi pentru a menține o arhitectură orientată spre obiect. Încearcă să nu se amestece în funcționalitatea eterogenă aceeași clasă: clasă nu ar trebui să fie un motiv de dumping nu este conectat la fiecare alte metode statice. În cazul în care o clasă conține doar membrii statice, nu uitați să marcați clasa ca statică sau sigilat (sigilat / NotInheritable) și defini o clasă de constructor privat, pentru a face imposibilă pentru a crea o instanță.

De asemenea, amintiți-vă că clase statice care păstrează starea între apeluri de metode, implicit ar trebui să fie în siguranță într-un mediu multithread. Când sunt în curs de dezvoltare o clasă, în condiții de siguranță într-un mediu multithreaded, au nevoie de o atenție specială de punere în aplicare și clasa de testare. Înainte de a începe să creeze o astfel de clasă, întrebați-vă dacă într-adevăr sunt absolut necesare aceste costuri suplimentare.

Subiect impact asupra siguranței asupra performanței aplicației. În acest articol ați văzut, cum poate reduce performanța din cauza faptului că clasa are un constructor static. Evaluarea impactului asupra performanței este important mai ales dacă sunteți scris o bibliotecă proiectat pentru utilizare multiplă. Nu se știe niciodată dacă cineva va folosi clasa ta în cel mai rău caz, similar cu cel descris anterior în acest articol.

Răspuns 10 '12 aprilie, la 05:38