ちょうぜつソフトウェア設計入門――PHPで理解するオブジェクト指向の活用 (田中ひさてる)
書籍情報
書籍目次
- はじめに
- 謝辞
- 本書の読み方
- 第1章 クリーンアーキテクチャ
- 1-1 ソフトウェアとアーキテクチャ
- 1-2 アーキテクチャは動作に貢献しない
- 1-3 汚い設計はなぜ生産性を落とすか
- 1-4 凝集度
- 1-5 依存の向きと安定度
- 1-6 どうすればクリーンになるのか
- 1-7 偏在するクリーンアーキテクチャ
- 第2章 パッケージ原則
- 2-1 再利用・リリース等価の原則
- 2-2 全再利用の原則
- 2-3 閉鎖性共通の原則
- 2-4 非循環依存関係の原則
- 2-5 安定依存の原則
- 2-6 安定度・抽象度等価の原則
- 2-7 アーキテクチャの外側
- 第3章 オブジェクト指向
- 3-1 オブジェクト指向の定義はない
- 3-2 カプセル化
- 3-3 他態性
- 3-4 継承/汎化
- 3-5 構造化プログラミングと何が違うのか
- 第4章 UML(統一モデリング言語)
- 4-1 UML概要
- 4-2 パッケージ、クラス、インターフェース
- 4-3 集約・コンポジション
- 4-4 インスタンス図とシーケンス図
- 4-5 シーケンス図
- 4-6 UMLはプログラミング言語ではない
- 第5章 オブジェクト指向原則 SOLID
- 5-1 SOLID
- 5-2 単一責任原則
- 5-3 解放閉鎖原則
- 5-4 リスコフの置換原則
- 5-5 インターフェース分離原則
- 5-6 依存性逆転原則
- 第6章 テスト駆動開発
- 6-1 実際に動くプログラム
- 6-2 単体テスト
- 6-3 xUnit実践
- 6-4 オブジェクト指向との併用
- 6-5 テスト駆動開発: 振る舞いのためのTDD
- 6-6 テスト駆動開発: 設計のためのTDD
- 6-7 テスト駆動の総括
- 第7章 依存性注入
- 7-1 依存性注入とは
- 7-2 DIコンテナ
- 7-3 オートワイヤリング
- 第8章 デザインパターン
- 8-1 原則の先へ
- 8-2 名前を持つ概念
- 8-3 多態性を設計する
- 8-4 インスタンスを生成する
- 8-5 オブジェクトで構造を作る
- 8-6 構造のオブジェクト間にあるもの
- 8-7 データモデルの構造
- 8-8 クラスか高階関数か
- 8-9 どこで生成されどこで振る舞うか
- 8-10 「再利用可能なオブジェクト指向ソフトウェア」
- 第9章 アジャイル開発
- 9-1 オブジェクトの分類
- 9-2 ドメイン駆動設計
- 9-3 アジャイル開発
- 9-4 ウォーターフォールの幻影
- 9-5 偽物のアジャイルにならないために
- おわりに
- 参考文献
- 索引