インターフェイス指向設計

https://www.oreilly.co.jp/books/9784873113661/

I部 インターフェイスのすべて

1章 インターフェイスとは何か

1.1 ピザを注文するインターフェイス

1.1.1 ピザの注文

1.1.2 ピザのインターフェイス

1.2 現実のインターフェイス

1.2.1 インターフェイスって何?

1.2.2 その他のインターフェイス

1.2.3 Unixデバイス

1.2.4 インターフェイス

1.2.5 テキスト型インターフェイス

1.2.6 GUIインターフェイス

1.3 まとめ

2章 インターフェイスと契約

2.1 インターフェイスの三原則

2.2 契約による設計

2.2.1 契約のチェック

2.2.2 ピザ注文時の契約

2.2.3 ファイル処理時の契約

2.2.4 プロトコル

2.3 インターフェイスの契約をテストする

2.3.1 ピザの契約をテストする

2.3.2 Fileの契約をテストする

2.4 契約のレベル

2.4.1 明示的な型の契約と暗黙的な型の契約

2.5 契約の品質

2.6 まとめ

3章 インターフェイスの材料

3.1 データインターフェイスとサービスインターフェイス

3.2 データアクセスインターフェイスの構造

3.2.1 シーケンシャルな取得とランダムな取得

3.2.2 プルインターフェイスとプッシュインターフェイス

3.2.3 各組み合わせの実装

3.3 インターフェイスの選択

3.4 ステートフルインターフェイスとステートレスインターフェイス

3.5 インターフェイスの変換

3.5.1 非オブジェクト指向インターフェイスをオブジェクト指向インターフェイスに

3.5.2 用途に特化したインターフェイス

3.5.3 テキスト型インターフェイスを、プログラム型インターフェイスに変換する

3.6 複数インターフェイスの実装

3.6.1 アイスクリームのインターフェイス

3.7 まとめ

4章 何をインターフェイスに持たせるべきか

4.1 凝集度

4.2 プリンタのインターフェイス

4.3 結合度

4.4 インターフェイスの評価基準

4.4.1 最小か完全か

4.4.2 単純さと複雑さ

4.5 まとめ

5章 継承とインターフェイス

5.1 継承とインターフェイス

5.2 ポリモーフィズム

5.3 階層

5.3.1 継承とメソッド

5.3.2 フットボールチーム

5.4 InputStreamをインターフェイスで代替する

5.4.1 InputStreamインターフェイス

5.4.2 入力をマークする

5.4.3 FileInputStream:もう1つのインターフェイス

5.4.4 InputStreamのレビュー

5.5 まとめ

6章 リモートインターフェイス

6.1 イントロダクション

6.1.1 外部インターフェイス

6.1.2 ネットワークの中断

6.2 手続き型インターフェイスとドキュメント型インターフェイス

6.2.1 手続き型スタイル

6.2.2 ドキュメント型スタイル

6.3 外部インターフェイスの特性

6.3.1 同期と非同期

6.3.2 ステートフルとステートレス

6.3.3 安定性と柔軟性

6.4 サービスの発見

6.5 ドキュメント型スタイルについてさらに詳しく

6.5.1 ドキュメントの表現

6.5.2 ドキュメントの検証

6.5.3 ドキュメントのエンコーディング

6.5.4 ドキュメントベースのビジネスフロー

6.6 セキュリティ

6.7 テスト

6.8 まとめ

II部 インターフェイス指向による開発

7章 開発の進め方

7.1 アジャイルな手法

7.2 ビジョンの決定

7.3 概念化

7.3.1 テスト

7.4 分析と設計

7.5 インターフェイス指向設計

7.5.1 IRIカード

7.6 設計

7.6.1 テスト

7.7 実装

7.8 まとめ

III部 インターフェイス指向開発の実例

8章 リンクチェッカー

8.1 ビジョン

8.2 概念化

8.3 分析

8.4 設計

8.4.1 WebPage

8.4.2 Webページを解析する

8.4.3 Webページの取得

8.4.4 リンク情報の保持

8.4.5 リンクをたどる処理を制御する

8.4.6 レポートの作成

8.5 テスト

8.6 実装

8.6.1 コード

8.6.2 GUIのアイデア

8.7 最後に

8.8 まとめ

9章 Web自動集約ツール

9.1 ビジョン

9.2 概念化

9.3 分析

9.3.1 DataGathererの具体化

9.4 テスト

9.5 設計

9.5.1 Webページの取得ムムテキスト型インターフェイスの場合

9.6 実装

9.7 最後に

9.8 まとめ

10章 サービスレジストリ

10.1 ビジョン

10.2 概念化

10.3 分析

10.3.1 ユニークなServiceID

10.3.2 登録のテスト

10.3.3 登録解除

10.3.4 パフォーマンスをテストする

10.3.5 セキュリティ

10.4 設計

10.4.1 ドキュメント型インターフェイス

10.5 実装

10.5.1 ドキュメントを表現するインターフェイス

10.5.2 ドキュメント形式の詳細

10.5.3 コード

10.6 公布済インターフェイス

10.6.1 複数サーバー

10.6.2 分散サーバー

10.6.3 実装

10.7 今後のイテレーション

10.7.1 TimeToLive

10.7.2 ServiceConsumerの認可

10.8 まとめ

下記は自分用のメモです。

本の引用がほとんどのためパスワードを設定してます。



Table of Content

I部 インターフェイスのすべて


1.1 ピザを注文するインターフェイス


1.1.1 ピザの注文