Skip to content

Commit

Permalink
[website] Fix ja
Browse files Browse the repository at this point in the history
  • Loading branch information
hadashiA committed Jul 15, 2021
1 parent d464ce2 commit 6d29936
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ VContainerの基本的な使い方は以下です。

**1. 他オブジェクトへ機能を委譲するクラスをつくる**

一例として、「Hello World」って言うだけのサービスクラスをつくってみます
一例として、「Hello World」って言うだけのサービスクラスをつくってみよう

```csharp title="HelloWorldService.cs"
namespace MyGame
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ sidebar_label: MonoBehaviour

- Unityでは、全ての `GameObject``MonoBehaviour` の生成時に確実に何かの処理を挟む良い方法がありません。そのため、暗黙のうちに自動的にインジェクトされるケース/そうでないケースが混在するよりも、必要に応じて明示するスタイルをとっています。
- `MonoBehaviour` へロジックへの参照をインジェクトするよりは、`MonoBehaviour` を参照をインジェクト **される側** とすることをどちらかというと推奨しています。
-`MonoBehaviour` はコードをなんでも書けるC#クラスであると同時に、実行時に動的な生成/破棄が発生します。動的な寿命のオブジェクトへのインジェクションは参照の管理が複雑です。このもっとも簡単な解決策はそれをやらないことです
- `MonoBehaviour` はコードをなんでも書けるC#クラスであると同時に、実行時の不特定のタイミングで生成/破棄が発生します。同じスコープ内での不安定な寿命のオブジェクトへのインジェクションは参照の管理がやや複雑になります
- VContainerやDIの目的のひとつは、オブジェクト同士の所有関係を自由に構築し、MonoBehaviourのような末端ではない場所へ制御を反転(IoC) することにもあります。
- Viewコンポーネントはしばしばイベントや出来事を検知する起点になりますが、自身で検知したイベントを所有権を持つ外部へ通知するスタイルが可能です
- Viewコンポーネントはしばしばイベントや出来事を検知する起点になりますが、自身で検知したイベントを所有権を持つ外部へ通知するようにすると、常に参照される側でいられます
- `Inject` が実行されなければ動作しない `MonoBehaviour` は、UnityのPrefabの強力なポータビリティを損なってしまう面があります。
- もちろん、Viewコンポーネントが動作するには、画面に表示したいデータ/状態を知る必要がありますが、実行時にめまぐるしく変化するデータは、`[Inject]` による注入の対象とせず、単なる「値」として引数などで扱うことが適しています。

1 comment on commit 6d29936

@vercel
Copy link

@vercel vercel bot commented on 6d29936 Jul 15, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.