『オブジェクトデザイン』
https://images-na.ssl-images-amazon.com/images/I/31fUI6yM-0L.jpg
原書は無料で公開されている。
Rebecca Wirfs-Brock(@rebeccawb)
Our object design book, Object Design: Roles, Responsibilities, and Collaborations is now available for free download from Pearson/InformIT. Thanks, Pearson for allowing us to share this widely. https://t.co/NcixRvbtex 目次
第1章 設計概念
1.1 オブジェクト機構
1.2 ロール
1.3 オブジェクトのロールステレオタイプ
1.4 ロール、責務、コラボレーション
1.5 オブジェクトの契約
1.6 ドメインオブジェクト
1.7 アプリケーション固有のオブジェクト
1.8 インターフェース
1.9 クラス
1.10 コンポジション
1.11 継承
1.12 オブジェクトの組織
1.13 コンポーネント
1.14 パターン
1.15 フレームワークス社
1.16 アーキテクチャ
1.17 アーキテクチャスタイル
1.18 設計記述
1.19 まとめ
1.20 参考文献
第2章 責務駆動設計
2.1 見て、記述して、設計するためのプロセス
2.2 台本を書く:分析の記述
2.3 登場人物の配役:探求的設計
2.4 制作をチューニングする:設計の洗練
2.5 まとめ
2.6 参考文献
第3章 オブジェクトを見つける
3.1 発見の戦略
3.2 オブジェクト、ロール、クラスを探す
3.3 なぜ設計ストーリーを語るのか
3.4 探索の戦略
3.5 名前には何が込められているのか
3.6 候補を記述する
3.7 候補を性格づける
3.8 候補を結びつける
3.9 共通の土台を探す
3.10 候補を残す根拠を述べ、他の候補を探す
3.11 まとめ
3.12 参考文献
第4章 責務
4.1 責務とは何か
4.2 責務はどこから見つかるか
4.3 責務を割り当てるための戦略
4.4 オブジェクトと責務を実装する
4.5 候補の品質を検証する
4.6 まとめ
4.7 参考文献
第5章 コラボレーション
5.1 オブジェクトのコラボレーションとは何か
5.2 「代わりにおしゃべり」ソフトウェアの設計ストーリー
5.3 コラボレーションの選択肢
5.4 コラボレーションを識別する戦略
5.5 コラボレーションをシミュレートする
5.6 適切なコラボレーションを設計する
5.7 コラボレーションを可能にする
5.8 いつ作業を終えられるのか
5.9 まとめ
5.10 参考文献
第6章 制御スタイル
6.1 制御スタイルとは
6.2 制御スタイルの選択肢
6.3 トレードオフを判断する
6.4 制御センターを開発する
6.5 ケーススタディ:外部ユーザーイベントに対する制御スタイル
6.6 まとめ
第7章 コラボレーションの記述
7.1 コラボレーションストーリーを伝える
7.2 コラボレーションストーリーを開発するための戦略
7.3 対象範囲、深さ、トーンを決める
7.4 対象とするものを一覧にまとめる
7.5 ストーリーの詳しさを決定する
7.6 適切な形式を選択する
7.7 伝える、描く、記述する:ガイドライン
7.8 説明内容を構成する
7.9 ストーリーを保存する
7.10 まとめ
7.11 参考文献
第8章 信頼性の高いコラボレーション
8.1 障害の影響を理解する
8.2 システムの信頼性を高める
8.3 コラボレーションが信頼できる場所を決める
8.4 信頼性を高めるべきコラボレーションを特定する
8.5 解決策を設計する
8.6 例外処理の設計を文書化する
8.7 設計をレビューする
8.8 まとめ
8.9 参考文献
第9章 柔軟性
9.1 柔軟であるということの意味
9.2 柔軟性の程度
9.3 柔軟な解決策がもたらす結果
9.4 柔軟性に対する要求を見極める
9.5 バリエーションを記録する
9.6 バリエーションと実現
9.7 柔軟な設計におけるパターンの役割
9.8 柔軟な設計を文書化する方法
9.9 稼動中のシステムの設計を変更する
9.10 まとめ
9.11 参考文献
第10章 設計について
10.1 ソフトウェア設計の本質
10.2 コア設計問題に取り組む
10.3 問題のフレームを見つける
10.4 奥深い設計問題に対処する
10.5 奥深い問題を解決するための戦略
10.6 残る設計問題に取りかかる
10.7 責任を持って設計する
10.8 参考文献
hr.icon
"Object Design" is an excellent book, and freely available as a PDF. I've been learning good stuff from @rebeccawb for almost as long as I've been programmer