デザインパターン(Design Pattern)は、プログラム設計で 繰り返し現れる問題に対する、定番の解決の型(テンプレート) です。先人たちが見つけた「うまくいく設計」に名前をつけて、再利用できるようにまとめたものです。
たとえば、有名なものに次のようなパターンがあります。
- シングルトン … あるものを、システム全体で1つだけに保つ。
- ファクトリ … オブジェクトの作り方を、専用の窓口にまとめる。
- オブザーバー … ある変化を、関係する複数の相手へ自動で通知する。
デザインパターンを知る利点は、2つあります。
- 車輪の再発明を避けられる … よくある問題に、実績ある解き方を当てはめられる。
- 意図が短く伝わる … 「ここはオブザーバーで」と言えば、チームに設計方針が一言で伝わる。共通語になる。
ただし、注意も必要です。パターンは「当てはめること」が目的ではありません。不要な場面で無理に使うと、かえって複雑になります。あくまで「困ったときの引き出し」として持っておき、適した場面で使うのがコツです。オブジェクト指向 と深く結びついており、Javaのデザインパターンコース などで学べます。