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

Клас даних

Також відомий як: Data Class

Симптоми і ознаки

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

Причини появи

Це нормально, коли клас на початку свого життя містить усього лише декілька публічних полів (а може навіть і парочку геттерів/сеттерів). Проте, справжня сила об’єктів полягає в тому, що вони можуть зберігати типи поведінки або операції над власними даними.

Лікування

  • Якщо клас містить публічні поля, застосуйте інкапсуляцію поля щоби приховати їх з прямого доступу, дозволивши доступ тільки через геттери і сеттери.

  • Застосуйте інкапсуляцію колекції для даних, які зберігаються в колекціях (на зразок масивів).

  • Огляньте клієнтський код, який використовує цей клас. Можливо, там ви знайдете функціональність, яка виглядала б доречніше в самому класі даних. В цьому випадку використайте переміщення методу і відокремлення методу для перенесення функціональності в клас даних.

  • Після того, як клас наповнився осмисленими методами, можливо, варто подумати про знищення старих методів доступу до даних, які дають занадто відкритий доступ до даних класу. В цьому вам допоможе видалення сеттера і приховання методу.

Виграш

  • Покращує розуміння і організацію коду. Операції над певними даними тепер зібрані в одному місці, їх не потрібно шукати по всьому коду.

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