Обзор темы [Рефакторинг кода]

Излишняя интимность (Inappropriate Intimacy)

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

Лечение: Перемещение поля, Перемещение метода для передвижения членов туда, где они нужнее; Замена двунаправленной связи на однонаправленную для упрощения структуры связей; Извлечение класса, если у нескольких классов есть общая потребность в чем-то (пусть все вместе используют новый класс); Скрывание делегирующего класса для установления посредника.

Наследование – тоже источник разврата. Подклассы зачастую хотят знать о родителях гораздо больше, чем то, о чем им могут поведать. Раз так, пригодится Замена наследования делегированием.