Taula de continguts:
Definició: què significa Immutable Type?
Un tipus immutable, en el context de C #, és un tipus d'objecte les dades no es poden canviar després de la seva creació. Un tipus immutable estableix la propietat o l'estat de l'objecte només de lectura perquè no es pot modificar després que s'assigni durant la inicialització.
Els tipus immutables estan dissenyats per a una gestió de memòria eficient i una millor velocitat, cosa que els fa adequats per a objectes amb requeriments de sincronització. Immutabilitat proporciona una millor llegibilitat del codi, fent canvis en la visibilitat de l'estat del programa i aïllant les operacions que canvien d'estat de les que no. Els tipus immutables proporcionen més seguretat que els tipus mutables.
S'utilitza un tipus immutable on les dades han de persistir després de ser assignades una vegada, però sense cap requisit perquè les dades es puguin canviar en el futur. Com que els objectes immutables no canvien el seu estat, són més útils en escenaris multithread i multiprocessos, ja que diversos fils poden llegir o escriure un objecte, cosa que pot provocar problemes de competició i problemes de sincronització.
Techopedia explica Tipus Immutable
Es poden crear objectes de tipus immutable amb l'ús de les paraules clau "const" i "readonly". Si bé permet la modificació d'un camp dins del constructor, const no ho fa. Els nombres, les cadenes i el nul només es poden fer servir com a camps const, realment immutables. La lectura només no és realment immutable, ja que permet escriure una sola vegada. Per tant, no és una constant de temps de compilació com el camp const. Els objectes veritablement immutables no canvien mai l’estat intern i, per tant, són inherent a la seguretat del fil.
La classe System.String és un tipus de referència immutable proporcionat a la biblioteca de classes .NET framework. Aquesta classe crea un nou objecte de cadena internament per a qualsevol acció de manipulació de cadenes. El contingut d’objectes d’aquest tipus no canvia, tot i que la sintaxi fa que aparegui com si es pogués canviar el contingut. A més, la cadena s’utilitza com a clau de taula hash per al càlcul de valors de hash per evitar el risc de corrompre l’estructura de dades de hash.
L’inconvenient principal dels tipus immutables és que requereixen més recursos que altres tipus d’objectes.
