NUnity講座おすすめナビLEARNING MATERIALS CATALOG
デザインパターンとSOLIDでコードをレベルアップ:教材案内カード(書影ではありません)

MATERIAL / 書籍

デザインパターンとSOLIDでコードをレベルアップ

入力・移動・効果音の責務分離、ドアとスイッチの依存関係、取り消し履歴、HP表示の更新方式などを題材に、設計を変える理由と追加の複雑さを比較する。

公式の掲載情報を見る ↗

著者・講師と制作担当

公式PDFの著者・制作協力者欄を確認。制作協力は原資料の「貢献者・寄稿者」を含む。日本語版の翻訳担当者は明記されていない。

担当確認:確認済み / 2026-10-10。名前からプロフィールと関連教材へ進めます。

担当表記の出典
著者・講師一覧を見る →

付属サンプルの確認時点の対応表はUnity 6000.0.11f1/URP。Built-inとHDRPは非対応と表示。

言語と日本語への対応

日本語訳PDFの説明本文を確認。コード、API名、Editorの画面名や一部の図・見出しには英語が残る。翻訳品質の全頁校正は未実施。 日英PDFの表紙はUnity 6 Preview版。

Unity公式配布ページから取得した英語PDF『Level up your code with design patterns and SOLID』の表紙・目次・説明本文を確認。日本語PDFのp.6付近にあるデザインパターンの意味とUnity 6 Preview向け改訂の説明が英語版に対応しており、英語原資料の日本語訳と判断。

提供本文の言語:日本語

具体的に何を学び、何を作るか

公式の公開目次・概要をもとに、制作の流れを要約しています。

  1. SOLIDを変更前後のコードで読む

    PDF 13〜17ページは入力・移動・衝突音を持つPlayerをPlayerInput/PlayerMovement/PlayerAudioなどに分割。36〜42ページはSwitchとDoorの間にISwitchableを置き、Trapにも同じ操作を適用する。

  2. Unityでインターフェースを渡す

    PDF 34〜35ページはInspectorでインターフェースを直接扱う制約を説明し、MonoBehaviour参照をシリアル化して実行時にIInteractableか確認する例を示す。抽象化の図だけでなくUnityでの参照設定までつなぐ。

  3. 生成・再利用・寿命を比較する

    Factory、Singletonに加え、PDF 58〜65ページでStack<PooledObject>による手作りプールからUnityEngine.PoolのObjectPoolへ進む。生成・取得・返却・破棄のコールバック、容量、二重返却のチェックを読む。

  4. 操作を命令にし、履歴を持たせる

    PDF 75〜79ページはPlayerMoverと移動量をMoveCommandに持たせ、Execute/UndoをCommandInvokerから呼ぶ。Undo/Redoの2スタック、新規操作時のRedo消去、QueueやListという別の履歴構造も検討する。

  5. 状態と通知を分離する

    Stateでキャラクターやゲーム進行の状態を表し、ObserverでC#イベント/UnityEventによる通知を扱う。入力と処理の切替を、一つの長い条件分岐だけに集めない方法を比較する。

  6. 同じHP表示でMVPとMVVMを比較する

    PDF 104〜112、117〜120ページ。MVPはHealthPresenterがHealthChangedを受けて表示を更新。MVVMは同じUXML/USSにDataBindingとコンバーターを設定し、HPを色や表示値へつなぐ。

  7. 共有するデータと各個体の状態を分ける

    Strategyではアビリティを差し替える。Flyweightの船団例(PDF 132〜135ページ)は速度・攻撃性能などをShipDataで共有し、各ShipのHPを個別に持つ。前後のメモリを比較する読み方も案内する。

  8. 高コストな更新を必要時に限る

    PDF 137〜143ページのDirty Flagは、プレイヤーとSectorの距離に応じたシーンのロード/アンロードを例にする。更新の削減だけでなく、依存関係の増加や状態が古いままになるリスクも扱う。

ほかの教材と比べるポイント

編集上の案内:4冊の中で、責務・依存関係・生成・履歴・状態・UI更新を横断して設計の候補を比較する役割。ScriptableObject本はその候補の一部をアセット中心に掘り下げ、C#スタイル本は表記の一貫性、VCS本は共同作業の履歴と素材管理を扱う。

目指す成果

  • 変更しにくいクラスの責務や依存関係をSOLIDの観点で整理する。
  • 生成・状態遷移・イベント通知・UIの問題に対応するパターンを比較する。
  • パターンを採用する利点と複雑さの増加を、具体例で判断する。
  • 同じHP画面のMVP/MVVMや、手動/組み込みプールを比較し、責務・データの置き場と導入コストの違いを説明できる。
  • Undo用スタック、共有設定アセット、Dirty Flagなど、目的に合わせた保持データを考えられる。

必要な知識・準備

  • 本文はC#の基礎知識が必要と明記。
  • 編集上の案内:クラス、継承、インターフェース、イベントとMonoBehaviourの基本を学んでから進む。
  • 編集上の目安:Stack、List、ジェネリックの基本があるとプールとCommandを追いやすい。MVP/MVVM節を実習する場合はUI ToolkitのUXML・USSとUnity 6のランタイムデータバインディングの基礎も必要。

収録範囲と注意点

  • 本文は説明用に一部コードを簡略化しており、付属プロジェクトと異なる場合があると明記している。
  • 配布PDFはPreview期の表記を残す。付属アセットの現行対応表はURPのみで、Built-in/HDRPは非対応。
  • MVVM例はUnity 6のUI Toolkitランタイムデータバインディングを利用する。同じ図やAPIを旧Editorでそのまま試せるとは扱わない。
  • 本文はクラス数を過度に増やすことや、必要性に見合わないパターン導入にも注意する。プール・Flyweight・Dirty Flagの効果は自分の対象機で測定する必要があり、本調査で高速化を実証していない。

内容確認に使った公式資料

この教材が合いそうな人

編集上の案内:動くC#コードは書けるが、新しい機能の追加が既存クラスの修正に広がる人、設計パターンを名前だけでなく変更前後のコードで理解したい人に。

学べる範囲と選ぶときの注意

旧版をUnity 6 Preview向けに改訂した、SOLIDと11パターンの例題集。今回の深掘りはPDF 13〜17、34〜42、58〜65、75〜79、104〜112、117〜120、132〜135、137〜143ページの本文・コードを中心とする。全編読了、付属プロジェクトの起動・テスト・性能計測は未実施。ページはPDFの先頭から数える。

サポート・付属データ

PDFは登録なしで取得。2026-10-10確認のUnity公式サンプルは無料、版1.1/6000.0.11f1/URPで、標準Asset Store EULAが適用される。原則・パターン別の個別デモを備え、本文は手作りプールのManualExampleとUnityEngine.Pool版、同じHP画面のMVPとMVVMを比較先に挙げる。取得・インポートと個別質問の対応範囲は未検証。

学んだ後の小さな練習

編集上の案内:責務が混ざるなら13〜17ページ、具体クラスへの依存が強いなら34〜42ページから読む。Undoなら75〜79ページ、UI同期なら104〜118ページを対応サンプルと照合し、必要な一箇所だけに導入する。

出典と確認範囲

内容確認:2026-10-10。各出典に確認日を記載しています。受講・通読レビューではありません。向く人や学習後の練習は編集部の提案です。

Unity Technologies/Unity Japanの公式掲載ページ

価格は確認時点の参考表示です。セール、提供条件、サポートや対応版は変わる場合があります。未確認は「提供なし」を意味しません。

次に見るページ

教材の選び方 対応版を確認する 別の教材と比べる

選んだ教材を比較