Я прочитал пару статей о неизменности, но не очень хорошо придерживаюсь концепции.
Недавно я сделал поток, в котором упоминалась неизменность, но поскольку это тема сама по себе, я делаю выделенный поток сейчас.
Я упомянул в прошлом потоке, что я думал, что неизменность - это процесс создания объекта только для чтения и обеспечения его низкой видимости. Другой член сказал, что на самом деле это не имеет никакого отношения. Эта страница (часть серия) использует пример неизменяемый класс /struct, и он использует readonly и другие понятия, чтобы заблокировать его.
Что такое определение состояния в случае этого примера? Состояние - это понятие, которое я действительно не понял.
С точки зрения дизайна, неизменяемый класс должен быть тем, который не принимает пользовательский ввод и действительно просто возвращает значения?
Я понимаю, что любой объект, который только возвращает информацию, должен быть неизменным и "заблокирован", верно? Поэтому, если я хочу вернуть текущее время в выделенном классе с помощью одного метода, я должен использовать ссылочный тип, так как это будет работать ссылкой типа и, следовательно, я получаю пользу от неизменности.