Jak stworzyć własny obiekt immutable w .Net i czego nie robić?

Hej, dzisiaj kontynuacja poprzedniego wpisu o niezmiennych obiektach.

Jako programiści .Net już teraz pracujemy z niezmiennymi obiektami na co dzień. Przykładem może być String albo DateTime. Niestety sam .Net nie pozwala nam jeszcze na tworzenie takich obiektów w bardzo łatwy sposób, np za pomocą samej adnotacji na klasie. Są plany aby to zmienić w kolejnych wersjach językach, ale zobaczymy co z tego i kiedy wyjdzie. W tym momencie, aby stworzyć taki obiekt, sami musimy zadbać o jego niezmienność. Co też nie jest trudne.

Przykładowa niezmienna klasa może wyglądać w ten sposób:

Czytaj dalej

Czym są obiekty immutable i kiedy oraz dlaczego warto je stosować?

Obiekty immutable, jak wskazuje ich nazwa, charakteryzują się tym, że nie można ich prosto zmienić po tym jak zostały stworzone (można na przykład dostać się do samej pamięci, czy też użyć refleksji). Nie ważne ile mają pól i właściwości oraz jakiego są typu. Czasem, potrzebujemy taki obiekt zmienić, wtedy zmieniamy go w całości. Możemy po prostu stworzyć nowy obiekt tej samej klasy mający nowe wartości.


Co nam to daje?

Zalet posiadania i używania takich obiektów jest kilka.

Czytaj dalej