【オブジェクト指向のこころ】第15章 共通性/可変性分析 解答

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

基礎

共通性と可変性を洗い出す,2つのアプローチを答えてください.

問題領域から2つの言葉を任意に選択し,以下の質問をする.

  • これらは,もう一方の流動的要素なのか?
  • これらはいずれも,何か他のものの流動性要素なのか?

応用

共通性/可変性分析では,共通性はそれ自体が1つの関心事に基づいているべきであると述べています.何故こういったことが重要なのでしょうか?

共通性が2つの関心事にもとづいていたとしたら,それらは概念の混在にあたってしまう. そうしておかないと,設計中の凝集度を高められない.

yusuke-ujitoko.hatenablog.com

共通性/可変性分析とデザインパターンは,どのように補完しあうのでしょうか?

共通性/可変性分析は早い段階で抽象的側面に着目することになるため,最も有益なものを見つけ出しやすくなる.一方,デザインパターンは抽象的側面間の関連に着目しているものの,こういった抽象的側面を洗い出す手助けにはならない.

デザインパターンによって,成功裏に終わった過去の設計における洞察が適用できるようになるが,共通性/可変性分析ではそういったことはない.