コンテンツにスキップ

第1部: 設計の基礎

ソフトウェア設計の語彙と考え方を、ゲーム開発の具体例で身につける章です。SOLIDやデザインパターン(第2部・第3部)は、すべてこの章の概念(責務・凝集度・結合度・依存・抽象化)の応用なので、迷ったらここに戻ってきてください。

読む順番

  1. 設計とは何を決める行為なのか
  2. 責務と関心の分離
  3. 凝集度と結合度(比較)
  4. 依存関係と依存の方向
  5. 抽象化・カプセル化・情報隠蔽
  6. 継承・委譲・コンポジション(比較)
  7. ポリモーフィズムとインターフェース
  8. 設計の品質特性
  9. YAGNI・KISS・DRY と早すぎる抽象化・早すぎる最適化
  10. 技術的負債・コードの臭い・リファクタリング

仕上げに 演習 を解いてください。

この章で答えられるようになる問い

  • 「このクラス、分けた方がいいですか?」に根拠つきで答えられるか
  • 「凝集度が低い」「結合度が高い」を、具体的なコードを指して言えるか
  • 継承とコンポジションをどう使い分けるか
  • 「きれいなコード」ではなく「変更に強いコード」とは何か

全体目次 | 次: 設計とは何を決める行為なのか