Забудьте о структурах данных, DTO, POJO и анемичных объектах.

TL;DR: избегайте внешних манипуляций

Устраненные проблемы

  • Нарушение инкапсуляции
  • Анемичные модели

Связанные запахи кода





Code Smell 40 — DTO
DTO широко используются и «решают
настоящие проблемы, не так ли?blog.devgenius.io»



Шаги

  1. Измените видимость ваших атрибутов с общедоступных на частные.

Образец кода

До

public class Song {
   String artistName;
   String AlbumName;
}

После

public class Song {
   // 1- Change the visibility of your attributes from public to private
   private String artistName;
   private String AlbumName;
  // We cannot access attributes until we add methods
}

Тип

[X] Полуавтоматический

Мы можем изменить видимость с помощью IDE или текстового редактора.

Безопасность

Это не безопасный рефакторинг.

Существующие зависимости могут сломаться.

Почему код лучше?

Мы можем легко изменить инкапсулированный код.

Код не повторяется.

Ограничения

Некоторые языки не имеют параметров видимости.

Теги

  • Анемичный

Связанные рефакторинги



Кредиты

Изображение от Couleur на Pixabay

Эта статья является частью серии статей о рефакторинге.