Răspunsul este că tipurile imuabile sunt mai ferite de erori, mai ușor de înțeles și mai pregătite pentru schimbare. Mutabilitatea face mai greu de înțeles ce face programul dvs. și mult mai greu de executat contracte.
Sunt obiectele mutabile rele?
În sfârșit, obiectele mutabile sunt ucigașe în situații concomitente. Ori de câte ori accesați un obiect mutabil din fire separate, trebuie să vă ocupați de blocare. Acest lucru reduce debitul și face codul mult mai dificil de întreținut.
De ce starea partajată este rea?
Starea mutabilă partajată funcționează după cum urmează: Dacă două sau mai multe părți pot schimba aceleași date (variabile, obiecte etc.). Și dacă viețile lor se suprapun. Apoi, există riscul ca modificările unei părți să împiedice alte părți să funcționeze corect.
De ce este imuabilitatea un lucru bun?
Pe lângă utilizarea redusă a memoriei, imuabilitatea vă permite să vă optimizați aplicația utilizând egalitatea de referințe și valori. Acest lucru face foarte ușor să vezi dacă s-a schimbat ceva. De exemplu, o schimbare de stare a unei componente de reacție.
Care sunt dezavantajele imuabilității?
Singurul dezavantaj real al claselor imuabile este că necesită un obiect separat pentru fiecare valoare distinctă. Crearea acestor obiecte poate fi costisitoare, mai ales dacă sunt mari. De exemplu, să presupunem că aveți un BigInteger de un milion de biți și doriți să schimbați bitul său de ordin scăzut:BigInteger moby=…; moby=moby.