Home

imutáveis

Imutáveis são entidades cujos dados não podem ser alterados após a criação. Em ciência da computação, a imutabilidade é uma propriedade de tipos de dados ou estruturas de dados. Quando algo é imutável, qualquer modificação produz uma nova instância, preservando a antiga inalterada. Isso contrasta com objetos mutáveis, cujo estado pode ser modificado ao longo da vida.

Vantagens incluem facilitação de raciocínio lógico, redução de efeitos colaterais e maior segurança em ambientes concorrentes.

Exemplos por linguagem: Em Java, a classe String é imutável; muitas coleções podem ser usadas de forma

Resumo: a imutabilidade é uma ferramenta conceitual e prática importante para desenho de software, especialmente quando

Impede
alterações
acidentais,
facilita
cacheo
e
memoização,
e
torna
o
código
mais
previsível.
Desvantagens
incluem
maior
consumo
de
memória
em
alguns
cenários
e
a
necessidade
de
criar
novas
instâncias
para
alterações;
nem
toda
aplicação
se
beneficia
da
imutabilidade,
que
pode
exigir
estruturas
de
dados
persistentes.
imutável
com
List.of
e
Map.of
(Java
9+),
ou
com
coleções
imutáveis
da
biblioteca
Guava.
Em
Python,
strings
e
tuplas
são
imutáveis;
listas
e
dicionários
são
mutáveis;
dataclasses
podem
ser
congeladas
com
frozen=True.
Em
JavaScript,
valores
primitivos
como
strings
e
números
são
imutáveis;
objetos
e
arrays
são
mutáveis;
Object.freeze
pode
tornar
um
objeto
imutável
de
forma
rasa.
Em
linguagens
funcionais
como
Haskell,
imutabilidade
é
a
norma:
dados
nunca
mudam
após
a
criação,
apenas
novas
estruturas
são
produzidas
a
partir
das
antigas.
previsibilidade,
paralelismo
e
consistência
são
desejáveis,
sendo,
no
entanto,
uma
opção
que
envolve
trade-offs
de
desempenho
e
complexidade.