抽象によるソフトウェア設計 第2章 ざっと一巡り その4

今日はモデルの階層化のところです。

  • abstract で Java でいう Interface のように抽象クラスを定義して、 extends でそれを継承したシグネチャを定義できる
    • アドレス帳に Alias と Group を作る
    • Composite パターン
      • 本書には「図 2.8 はモデルの宣言を可視化したモデル図で〜自動生成したものである」とあるけどこれの表示方法がわからない
  • fact を使って常に成立すべき制約を宣言する(pred で制約を書くのは操作毎の制約ということか)
    • x.^r という記法。オブジェクト x に関係 r を1回適用したものの集合(推移閉包)

文法やセマンティクスの詳細がそろそろ気になってきました。ざっと一巡りでずいぶん時間かけてしまっていますがじっくり進めます。次回は「実行トレース」についてです。