俺が一番好きなデザインパターン「Strategy Pattern」の話
BRANK

!🎄 本記事は ZOZO Advent Calendar 2025 シリーズ 8 の 11 日目です。ぜひ他の記事もご覧ください。はじめにこんにちは。データシステム部・推薦基盤ブロックのかみけん(上國料)です。突然ですが、デザインパターンの中で個人的に一番好きなのは Strategy Pattern です。学生時代、研究で鬼のように使っていました。機械学習の研究では「複数のモデルを同じ条件で比較する」場面が頻繁にあって、モデル A とモデル B、さらに提案手法 C を差し替えながら実験を回すわけです。このとき、各モデルを Strategy として切り出しておくと、実験コードがかなり綺麗に書けました。if-else が増えてきたら「Strategy で綺麗にできないか?」と考えるのが癖になっていたくらいです。この記事では、なぜ Strategy パターンが好きなのか思い出しながら、コード例を交えながら語っていきます。Strategy Pattern とは「アルゴリズムをオブジェクトとしてカプセル化し、実行時に切り替え可能にする」 パターンです。こういうときに使う「やること」は同じなのに「やり方」だけ違うコードがあちこちにあって、車輪の再発明が起きているif-else や switch 文が増殖して、関数が何をして…

zenn.dev
Related Topics: Software Design