【オブジェクト指向のこころ】第18章 Observerパターン 解答

オブジェクト指向のこころ 第18章の練習問題の解答をまとめてみる。

基礎

GoFによる構造に関するパターンの責務とは何でしょうか?

構造に関するパターンの責務は,既存の機能群を結びつけること.
(p.271)

GoFが分類したパターンのカテゴリを答えてください.また,私が示唆している4つ目のカテゴリとは何でしょうか?
  • 生成
  • 構造
  • 振る舞い

4つ目のカテゴリとは,分割に関するパターンとしている.
(p.272)

要求の持つ絶対的な性質を答えてください

要求は常に変化するものであるという性質.
(p.273)

Observerパターンの目的を答えてください

オブジェクト間に1対多の依存関係を定義し,あるオブジェクトの状態が変化した際,それに依存するすべてのオブジェクトに対して自動的に通知,更新が行われるようにすること.

応用

BridgeパターンとDecoratorパターンが,振る舞いに関するパターンではなく,構造に関するパターンに分類される理由を答えてください.

BridgeパターンもDecoratorパターンも機能群を結びつけるものであるから. Bridgeパターンでは,大抵の場合,抽象的側面と実装を洗い出すところからはじめ,その後,橋を渡すようにしてそれらを結合する. Decoratorパターンでは,もとの機能を有したクラスがあり,追加機能を付加することになる.

Observerパターンを解説する際,ソフトウェアとは無関係な放送局を例に挙げました.放送局は電波を送信し,誰でも気の向いたときにチューニングするだけで聞くことができます.これ以外の「実生活における例」を挙げてください.

新聞出版.

yusuke-ujitoko.hatenablog.com