Инкапсулирует данные перемещая их в другой класс. Не дает возможности изменять переменные даже самому классу (так как они в другом классе)
(Замена final
)
!!!
Java - не нужно. Больше для С#
!!!
-
Когда мы хотим сделать
final after constructor
. -
Когда у класса много атрибутов.
- Мы выделяем новый класс, (или классы) которые вмещают в себя все нужные данные.
-
Создать Дата-класс, который будет иметь одну ответственность, используя методы рефакторинга: выделения поля и выделения метода. Добавить все поля, которые нужно сокрыть.
-
Создайте связь между старым и новым классом. Старый класс, должен создавать Дата-класс передавая данные через конструктор.