Sobes.tech
Junior — Middle

Explique o que significa criar objetos que são imutáveis após a sua inicialização.

sobes.tech IA

Resposta da IA

A criação de objetos imutáveis, ou seja, que não mudam após a sua inicialização, significa que uma vez que o objeto é criado e os seus campos são definidos, o estado desse objeto não pode ser alterado. Tais objetos são chamados de imutáveis.

Em C#, isso é alcançado, por exemplo, com:

  • declarar os campos como readonly;
  • não ter setters nas propriedades (apenas getters);
  • inicializar todos os dados através do construtor.

Vantagens de objetos imutáveis:

  • Segurança em múltiplas threads sem sincronização adicional.
  • Simplificação na compreensão do código, pois o estado do objeto não muda.
  • Uso como chaves em coleções e caches.

Exemplo:

public class Person
{
    public string Name { get; }
    public int Age { get; }

    public Person(string name, int age)
    {
        Name = name;
        Age = age;
    }
}

Após criar uma instância de Person, suas propriedades não podem ser alteradas.