【オブジェクト指向のこころ】第3章 柔軟なコードを必要とする問題 解答

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

基礎

このシステムで考える必要のある、シートメタルの5つのフィーチャーとは何でしょうか?
  • Slot
  • Hole
  • Cutout
  • Special
  • Irregular

(p.50)

V1システムとV2システムの違いは何でしょうか?

V1は、サブルーチンライブラリの集合体となっている。このため、CAD/CAMモデルの情報を得るためには、一連のサブルーチンを呼び出す必要がある。 (p.49)

一方、V2は、オブジェクト指向で設計されている。ジオメトリはオブジェクトとして格納されていて、それぞれがフィーチャーと一対一で対応している。そのためフィーチャーの情報を得るには、オブジェクトにフィーチャーのことを訊けばよい。 (p.50)

応用

CAD/CAMの事例が抱える本質的な問題とは何でしょうか?

異なる種類のCAD/CAMシステムがあり、エキスパートシステムはこれらのCAD/CAMシステムからジオメトリ情報を取得しなければならない。 しかし、2つのCAD/CAMシステムは本質的に同じ情報を保持しているにも関わらず、全く異なった方法で実装されており、インターフェースも異なる。 上記の点が本質的な難しさを構成している。

ポリモーフィズムは、ジオメトリーの抽出レベルで必要となりますが、フィーチャーレベルでは必要となりません。その理由は何でしょうか?

エキスパートシステムは、どんな種類のフィーチャー群が要るのかの情報が必要であり、各フィーチャーをくり抜くための加工の具体的な方法については気にする必要はないため。

yusuke-ujitoko.hatenablog.com