0
3

More than 1 year has passed since last update.

【Unity】公式プロジェクトから、デザインパターンを学んでみよう(Part 0)

Last updated at Posted at 2022-10-28

●シリーズ

●はじめに

  • Unityを利用しながら、デザインパターンについての理解を深めようと思います。
  • 筆者はデザインパターンを知らないです。本記事を書きながら学んでいきます。先人方からすれば、低質な記事だと思いますが、ご了承ください…。
  • 本記事に間違いなどがあれば、コメントからご教授お願いします。

また、内容が結構ボリューミーなので、デザインパターンごとに記事を投稿させていただきます。
今回の記事では、簡単な概要と、役に立ちそうなサイトや記事を紹介するだけです。

●該当のプロジェクトについて

○リポジトリ

↓こちらのリポジトリから、Unityの公式のプロジェクトがダウンロードできます。

↓また、こちらのサイトの中から説明のPDFをダウンロードできます。(※全て英語です)

○内容

  • プロジェクトの内容は、こんな感じです
    1. SOLID原則
    2. Factory Method
    3. ObjectPool
    4. Singleton
    5. Command
    6. State
    7. Observer
    8. MVP

  • SOLID原則のフォルダ(フォルダ番号:1~5)は、スクリプトのみです。
  • それ以降のフォルダ(フォルダ番号:6~12)は、シーンやGameObjectが含まれていて、ゲームを実行して挙動を実際に操作できます。
  • General, ScriptTemplatesフォルダはほぼ無関係です。素材とかが入ってます。

スクリプトやシーン内のテキストは全て英語なので、Google翻訳を駆使して、解読頑張りましょう!!!

●デザインパターンについて、簡単な概要

※僕もちょうど昨日、デザインパターンという存在を知ったので、あんまりしっくりしてないところがあります…。すっごいゆるふわな説明になるので、ガチガチな記事が読みたい方はブラウザバックしてください!

○SOLID原則

  • 5つの原則の総称がSOLID原則。
  • クラスとか関数の拡張がしやすくなったり、コードの可読性を高めるための原則 です。
  • 以下にめちゃくちゃ簡単な説明つけときます。正直自分でも全然分かってないです。
  • 詳細な説明は、後日投稿予定の各記事に記載します。

① 単一責任原則(SingleResponsibility)

  • 1つのクラスに、色んな機能を詰め込みすぎたらダメっていう原則。
  • 例えば、「Player」クラスじゃなくて、[PlayerAction],[PlayerAudio],[PlayerAnimation]みたいに、細分化すればバグも少なくなったり、分担作業もしやすくなる

② 開放・閉鎖原則(OpenClosed)

  • 拡張には開放的で、変更には閉鎖的に対応しろっていう原則。

③ リスコフの置換原則(Liskov Substitution)

  • 子クラスは、親クラスができることは必ずできるようにしろっていう原則。

④ インターフェース分離原則(InterfaceSegregation)

  • 細分化して、必要な関数だけ実装しろっていう原則。

⑤ 依存性逆転原則(DependencyInversion)

  • クラスは、そのクラスよりも下のクラスに依存するなっていう原則。
  • 抽象(インターフェース)に対して依存するようにするべき らしい。

以下製作途中です

○Factory Method

○ObjectBool

○Singleton

○Command

○State

○Observer

○MVP

●さいごに

●参考サイトなど

0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3