Всегда ли нужно стремиться к неизменяемости объектов? Делал лабораторную по ооп на c#, сначала сделал без неизменяемости: для полей, которые нужно изменять оставил сеттер, для остальных - только геттер. Но преподаватель попросил сделать объекты неизменяемыми и сделать это с помощью билдера. Сделал, но код стал менее понятным, и тесты писать стало труднее, так как при попытке изменить объект создавался новый и приходилось искать этот новый объект, чтобы продолжить работу с ним. Ну и сам вопрос: в каких случаях лучше делать объекты неизменяемыми, а в каких можно обойтись ограничением некоторых полей?

17 Ноя 2021 в 19:59
171 +1
0
Ответы
1

Зависит от проекта и поставленной цели, сходу сказать, когда в 100% случаев нужен неизменяемый объект, а когда изменяемый - сложно.

---

Как правило staticstaticstatic final поля можно делать и публичными - они не изменяемые, поэтому геттер для них - слишком, а приватным полям, наоборот, прикручивают и геттер, и сеттер

20 Ноя 2021 в 00:56
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир