Недоречна близькість
Симптоми і ознаки
Один клас використовує службові поля і методи іншого класу.
Причини появи
Дивіться уважно за класами, які проводять надто багато часу разом. Хороші класи повинні знати один про одного якомога менше. Такі класи легше підтримувати і повторно використовувати.
Лікування
-
Найпростіший вихід - за допомогою переміщення методу і переміщення поля перенести частини одного класу в інший (в той, де вони використовуються). Проте це може спрацювати тільки в тому випадку, якщо оригінальний клас не використовує переміщувані поля і методи.
-
Іншим рішенням є відокремлення залежних частин в окремий клас і приховання делегування до цього класу.
-
Якщо між класами існує взаємна залежність, варто використати заміну двонаправленого зв’язку на однонапрямлену.
-
Якщо близькість виникає між підкласом і батьківським класом, краще розглянути можливість заміни делегування наслідуванням.
Виграш
-
Покращує організацію коду.
-
Спрощує технічну підтримку і повторне використання коду.