オブジェクト指向のこころ 第18章の練習問題の解答をまとめてみる。
基礎
GoFによる構造に関するパターンの責務とは何でしょうか?
構造に関するパターンの責務は,既存の機能群を結びつけること.
(p.271)
GoFが分類したパターンのカテゴリを答えてください.また,私が示唆している4つ目のカテゴリとは何でしょうか?
- 生成
- 構造
- 振る舞い
4つ目のカテゴリとは,分割に関するパターンとしている.
(p.272)
要求の持つ絶対的な性質を答えてください
要求は常に変化するものであるという性質.
(p.273)
Observerパターンの目的を答えてください
オブジェクト間に1対多の依存関係を定義し,あるオブジェクトの状態が変化した際,それに依存するすべてのオブジェクトに対して自動的に通知,更新が行われるようにすること.
応用
BridgeパターンとDecoratorパターンが,振る舞いに関するパターンではなく,構造に関するパターンに分類される理由を答えてください.
BridgeパターンもDecoratorパターンも機能群を結びつけるものであるから. Bridgeパターンでは,大抵の場合,抽象的側面と実装を洗い出すところからはじめ,その後,橋を渡すようにしてそれらを結合する. Decoratorパターンでは,もとの機能を有したクラスがあり,追加機能を付加することになる.
Observerパターンを解説する際,ソフトウェアとは無関係な放送局を例に挙げました.放送局は電波を送信し,誰でも気の向いたときにチューニングするだけで聞くことができます.これ以外の「実生活における例」を挙げてください.
新聞出版.