Меню
Главная
Случайная статья
Настройки
|
Проблема йо-йо (англ. yo-yo problem) — это антипаттерн объектно-ориентированного программирования, который возникает, когда программа содержит длинную иерархию наследования, из-за чего программисту приходится постоянно перемещаться из одного класса в другой, чтобы понять логику исполнения. Термин происходит из сравнения внимания программиста при чтении кода с прыгающей туда-сюда игрушкой йо-йо.[1]
Чтобы избежать этой проблемы, рекомендуется держать иерархию классов как можно более плоской. Ещё как вариант предпочтение композиции наследованию позволит справиться с ней, однако это также заставляет разработчика держать в голове несколько классов одновременно, поэтому цели классов должны быть очень стойкими.
Глубокие иерархии наследования это симптом проблем в коде.
Примечания
- Taenzer, David; Ganti, Murthy; Podar, Sunil. Problems in Object-Oriented Software Reuse (англ.) // Cambridge University Press.. — 1989. — P. 33–34.
|
|