【メディエーターパターン】
Mediatorパターン とは?
最終更新:
💡 部品どうしの連携ルールを、仲介役にまとめる
複数のオブジェクトが協調するやり取りを、仲介役のオブジェクトへまとめるデザインパターン。参加するオブジェクトが互いの詳細を直接知る必要を減らし、連携のルールを整理する。すべての処理や依存関係をなくす仕組みではない。
📌 このページのポイント
- オブジェクト間の協調を仲介役へまとめる
- 参加する部品の直接の依存を減らす
- 仲介役から部品への指示もある
- 仲介役に責務を集めすぎると複雑になる
仲介役は、何をするの?
参加する部品から知らせを受け、必要な部品へ指示して連携を調整するよ。各部品に他の部品の動かし方を全部持たせず、協調するルールを仲介役にまとめるんだ。
画面の部品で、例を見せて!
たとえばチェックを付けたら入力欄を有効にし、保存ボタンの状態も変える画面だよ。チェックの部品が両方を直接操作する代わりに、仲介役へ知らせ、仲介役が必要な部品を動かす。これは説明用の例だよ。
みんな、知らせを送るだけ?
受け取ることもあるよ。仲介役は通知を受けるだけの箱ではなく、他の部品への指示や調整も担当する。図ではチェックから仲介役、仲介役から入力欄とボタンへ向かう流れを示しているんだ。
全部の処理を、仲介役へ移すの?
個々の部品自身の仕事は部品に残すよ。まとめるのは連携のルール。何でも集中させると仲介役が巨大になり、変更しにくくなる。画面や用途に合った範囲に責務を絞ろう。
まとめ:ざっくりこれだけ覚えればOK!
「Mediatorパターン」って出てきたら「部品どうしのやり取りを仲介役にまとめる設計」と思えばだいたいOK!
📖 おまけ:英語の意味
「Mediator pattern」 = 仲介者のパターン
💬 Mediatorは仲介する人のこと。部品どうしの連携を取りまとめる役を表すよ。