( enpassant | 2017. 12. 21., cs – 09:20 )

Nepszerutlen velemenyem kovetkezik: az immutability is tulertekelt.

Ezt honnan veszed? Szinte mindenhol mutable dolgokat használnak a (OO) fejlesztők. Éppen fordítva van, nagyon alulértékelt.

Az immutable nem azt jelenti, hogy nincs változás, hanem azt, hogy nem egy meglévőt változtatsz meg, hanem létrehozol egy "újat".

Lehet egy Number osztályod mutable és immutable is. Mutable esetben:


Number two = new Number(2);
two.add(3);

Így adsz a kettőhöz hármat, a two eleinte kettőt tartalmazza, majd az összeadás után ötöt.

Immutable esetben:


Number two = new Number(2);
Number five = two.add(3);

Az add függvény nem helyben változtatja meg a Number értékét, hanem visszaad egy új Numbert, így a two amíg világ a világ mindig kettőt tartalmaz, a five meg ötöt.
Hasonlóan, mint a String, BigInteger, BigDecimal, ... osztályok Javaban.