第1部: 設計の基礎¶
ソフトウェア設計の語彙と考え方を、ゲーム開発の具体例で身につける章です。SOLIDやデザインパターン(第2部・第3部)は、すべてこの章の概念(責務・凝集度・結合度・依存・抽象化)の応用なので、迷ったらここに戻ってきてください。
読む順番¶
- 設計とは何を決める行為なのか
- 責務と関心の分離
- 凝集度と結合度(比較)
- 依存関係と依存の方向
- 抽象化・カプセル化・情報隠蔽
- 継承・委譲・コンポジション(比較)
- ポリモーフィズムとインターフェース
- 設計の品質特性
- YAGNI・KISS・DRY と早すぎる抽象化・早すぎる最適化
- 技術的負債・コードの臭い・リファクタリング
仕上げに 演習 を解いてください。
この章で答えられるようになる問い¶
- 「このクラス、分けた方がいいですか?」に根拠つきで答えられるか
- 「凝集度が低い」「結合度が高い」を、具体的なコードを指して言えるか
- 継承とコンポジションをどう使い分けるか
- 「きれいなコード」ではなく「変更に強いコード」とは何か
全体目次 | 次: 設計とは何を決める行為なのか