Home

nietwijzigbaar

Nietwijzigbaar, ook geschreven als niet-wijzigbaar, is een eigenschap waarbij de toestand van een object of data na creatie niet kan veranderen. In het Engels wordt doorgaans immutability gebruikt. Het tegenovergestelde is wijzigbaar (mutable). Nietwijzigbare objecten komen voor in verschillende domeinen, maar vooral in de informatietechnologie bij data- en programmatuurontwerp.

In de softwareontwikkeling wordt immutability vaak als ontwerpprincipe toegepast om voorspelbaar gedrag en minder fouten te

Voordelen van nietwijzigbaarheid zijn onder meer gemakkelijker redeneren over code, minder kans op onverwachte veranderingen door

Nadelen zijn onder meer mogelijk hogere geheugen- en rekenkundige kosten, omdat bij elke wijziging vaak een

Implementatie kan onder meer bestaan uit: geen muterende methoden toekennen, velden privé en final/readonly maken, defensief

Zie ook: immutability, persistent data structures, read-only.

bevorderen.
Vaak
zijn
strings
in
talen
zoals
Java,
C#,
Python
en
Kotlin
immutabel,
wat
betekent
dat
hun
waarde
na
aanmaak
niet
kan
worden
gewijzigd.
Ook
veel
data-structuren
zoals
tuples
en
records
worden
bij
creatie
vastgelegd
als
niet-wijzigbaar.
In
tegenstelling
tot
deze
immutabele
types
bieden
sommige
talen
mutabele
containers,
waardoor
delen
van
een
dataobject
later
kunnen
worden
aangepast.
andere
delen
van
een
programma,
betere
ondersteuning
voor
caching
en
memoization,
en
verbeterde
thread-safety
doordat
objecten
zonder
lock
kunnen
worden
gedeeld
tussen
threads.
nieuw
object
moet
worden
aangemaakt.
Dit
kan
de
prestaties
beïnvloeden
in
scenarios
waar
extreem
veel
mutatie
plaatsvindt.
Ontwerpen
zoals
persistente
datastructuren
of
structure
sharing
worden
vaak
toegepast
om
deze
nadelen
te
mitigeren.
kopiëren
bij
teruggeven,
en
taalvoorzieningen
gebruiken
zoals
records
of
readonly/const-modifiers.