ヨーヨー問題とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > ヨーヨー問題の意味・解説 

ヨーヨー問題

(Yo-yo problem から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/10/29 05:33 UTC 版)

ソフトウェア開発におけるヨーヨー問題アンチパターンとは、プログラムを読んで内容を理解しようとしたときに、継承関係が深すぎる・複雑すぎるなどの理由で、たくさんのクラスを行ったり来たりしないと処理フローが追えない状況のことである。この問題はオブジェクト指向プログラミングでよく発生する。「ヨーヨー問題」という名前は、プログラマが注目している場所がヨーヨーの動きのように上下することから来ている。Taenzer, Ganti, Podarらは、この問題を特に取り上げて、「メッセージツリーの内容を理解しようとする際、ヨーヨーの上に乗っているかのような感じがすることがよくある」と説明している[1]

オブジェクト指向プログラミングにおける「継承関係のグラフの深さはできるだけ浅い方がよい」という慣習に従うことで、この問題をある程度は回避できる。また、継承よりコンポジションを使用することも、プログラマが複数のクラスを頭に入れておく必要があるという点は変わらないが、強く推奨される。

より一般には、あるコンセプトを理解しようとする際に、複数の情報源を行ったり来たりする必要があるという状況を指して「ヨーヨー問題」と言うこともある。

また、継承の階層構造のレイヤー分けをドキュメント化しておいて、プログラマの理解に必要な情報を1箇所に集めておくなど、オブジェクト指向設計のテクニックを利用することでも、この問題の影響を軽減できる。

関連項目

参考文献

  1. ^ Taenzer, David (1989年). “Problems in Object-Oriented Software Reuse (PDF)”. ECOOP 89: Proceedings of the Third European Conference on Object-Oriented Programming, 1989. Cambridge University Press. pp. 33-34. 2019年5月2日閲覧。



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「ヨーヨー問題」の関連用語

ヨーヨー問題のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



ヨーヨー問題のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのヨーヨー問題 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS