問題2.76
- 汎用演算
- 新しい型を追加するとき
- すべての汎用選択子の定義を変更する必要あり
- 名前などがかぶらないように注意しないといけない。
- 新しい演算を追加するとき
- ふつうに新しく書くだけ。
- 新しい型を追加するとき
- データ主導
- 新しい型を追加するとき
- 内部手続きとして名前を気にせず記述し、インターフェースのみ用意すれば良いので楽。
- 型の追加に伴い、インターフェースを変更する必要があれば、すべてのインターフェース部分を書き換える必要あり。
- 新しい演算を追加するとき
- すべてのインターフェースがそろっていないといけないので、全部の型のインターフェース部分を書き換える必要あり。
- 新しい型を追加するとき
- メッセージパッシング
- 新しい型を追加するとき
- 外部にテーブルを持たないので、新しいオブジェクト生成関数を追加するだけなので楽。
- 型の追加に伴い、インターフェースを変更する必要があれば、必要によって書き換える。
- 新しい演算を追加するとき
- インターフェースという概念は必須ではない(つまりそれぞれの型が独立した演算名を持っていてよい)ので、任意に必要な型に演算を追加する。
- 新しい型を追加するとき
- 絶えず演算が追加される場合
- 汎用演算
- 絶えず型が追加される場合、
- 堅くて大きくても、安定したインターフェースが必要であれば、データ主導
- 少々適当でも、小さく開発速度重視なら、メッセージパッシング
とかかな
今日はここまで。