Меню

Главная
Случайная статья
Настройки
Проблема йо-йо
Материал из https://ru.wikipedia.org

Проблема йо-йо (англ. yo-yo problem— это антипаттерн объектно-ориентированного программирования, который возникает, когда программа содержит длинную иерархию наследования, из-за чего программисту приходится постоянно перемещаться из одного класса в другой, чтобы понять логику исполнения. Термин происходит из сравнения внимания программиста при чтении кода с прыгающей туда-сюда игрушкой йо-йо.[1]

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

Глубокие иерархии наследования это симптом проблем в коде.

Примечания
  1. Taenzer, David; Ganti, Murthy; Podar, Sunil. Problems in Object-Oriented Software Reuse (англ.) // Cambridge University Press.. — 1989. — P. 33–34.
Downgrade Counter