Видалення сеттера
Також відомий як: Remove Setting Method
Проблема
Значення поля має бути встановлене тільки в момент створення і більше ніколи не мінятися.
Рішення
Видаліть методи, що встановлюють значення цього поля.
До
![Remove Setting Method - Before](/images/refactoring/diagrams/Remove Setting Method - Before.png?id=6f5c0d77289a8f59a2bb89032d5bc55f)
Після
![Remove Setting Method - After](/images/refactoring/diagrams/Remove Setting Method - After.png?id=5e75fe3df982c4da469ddceb96530058)
Причини рефакторингу
Ви хочете зробити значення поля незмінним.
Порядок рефакторингу
-
Значення поля повинне мінятися тільки в конструкторі. Якщо конструктор не містить параметра для установки значення, треба його додати.
-
Знайдіть усі виклики сеттера.
-
Якщо виклик сеттера стоїть відразу після виклику конструктора поточного класу, перемістіть його аргумент у виклик конструктора і видаліть сеттер.
-
Виклики сеттера в конструкторі замініть на прямий доступ до поля.
-
-
Видаліть сеттер.