Глянь мой новый курс по Git! Привет! Глянь мой новый курс по Git! Привет! Глянь мой новый курс по Git на GitByBit.com! Привет! Хочешь круто подтянуть Git? Глянь мой новый курс на GitByBit.com!

Класс данных

Также известен как: Data Class

Симптомы и признаки

Классы данных — это классы, которые содержат только поля и простейшие методы для доступа к ним (геттеры и сеттеры). Это просто контейнеры для данных, используемые другими классами. Эти классы не содержат никакой дополнительной функциональности и не могут самостоятельно работать с данными, которыми владеют.

Причины появления

Это нормально, когда класс в начале своей жизни содержит всего лишь несколько публичных полей (а может даже и парочку геттеров/сеттеров). Тем не менее, настоящая сила объектов заключается в том, что они могут хранить типы поведения или операции над собственными данными.

Лечение

  • Если класс содержит публичные поля, примените инкапсуляцию поля чтобы скрыть их из прямого доступа, разрешив доступ только через геттеры и сеттеры.

  • Примените инкапсуляцию коллекции для данных, которые хранятся в коллекциях (вроде массивов).

  • Осмотрите клиентский код, который использует этот класс. Возможно, там вы найдёте функциональность, которая смотрелась бы уместнее в самом классе данных. В этом случае используйте перемещение метода и извлечение метода для переноса функциональности в класс данных.

  • После того как класс наполнился осмысленными методами, возможно, стоит подумать об уничтожении старых методов доступа к данным, которые дают слишком открытый доступ к данным класса. В этом вам поможет удаление сеттера и сокрытие метода.

Выигрыш

  • Улучшает понимание и организацию кода. Операции над определёнными данными теперь собраны в одном месте, их не надо искать по всему коду.

  • Может вскрыть факты дублирования клиентского кода.