Sobes.tech
Junior — Middle

Explica ce înseamnă crearea de obiecte care sunt imuabile după inițializare.

sobes.tech AI

Răspuns de la AI

Crearea obiectelor imuabile, adică a celor care nu se schimbă după inițializare, înseamnă că odată ce obiectul este creat și câmpurile sale sunt setate, starea acestui obiect nu poate fi modificată. Astfel de obiecte sunt numite immutable (imutable).

În C#, acest lucru se realizează, de exemplu, prin:

  • declararea câmpurilor ca readonly;
  • lipsa setter-urilor la proprietăți (doar getter);
  • inițializarea tuturor datelor prin constructor.

Avantajele obiectelor imuabile:

  • Siguranță în multithreading fără sincronizare suplimentară.
  • Simplificarea înțelegerii codului, deoarece starea obiectului nu se schimbă.
  • Utilizarea ca chei în colecții și cache-uri.

Exemplu:

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

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

După crearea unei instanțe de Person, proprietățile sale nu pot fi modificate.