imog

主にUnityとかの事を書いています

Zenject

ZenjectからVContainerに移行する際に気をつけること

ニッチすぎる小ネタです。 DIライブラリのリプレースなので基本的にはそんなに手間ではないですが、微妙に思想の違いがあるのでちょっとだけ気をつけようねというお話。 基本的な移行の流れ SceneContext → LifetimeScopeに乗り換える Installerのコードを見…

Zenjectを使うときに気を付けていること

このエントリはUnity Advent Calendar 20194日目のやつです。 Zenjectは便利ですが、実際に扱っている人の知見やtipsがまだまだ世に出回ってない印象です。APIの使用方法も欲しいですが実際に使ってる人たちがどういうお気持ちで使っているのかというのはど…

技術書典7でZenjectチョットワカルBookを頒布します

9/22の技術書典7にて、Zenjectについてつらつら書いた「ZenjectチョットワカルBook」というのを頒布します。ページは以下。 techbookfest.org また、電子版もboothで同日から公開します。 e-f-b.booth.pm 会場では物理本を1000円で頒布します。かんたん後払…

Extenject(Zenject)のTestがNSubstituteをサポートしていた

割と最近の出来事だった github.com 元々Zenjectはテスト時のモックライブラリとしてMoqを採用していたんだけど、このPRでまた別のモックライブラリであるNSubstituteを使えるようになった。選択肢が増えたのだった。 Moq github.com NSubstitute nsubstitut…

ZenjectのConstructionMethodたち

ZenjectでBindするとき、そのインスタンスをどのように用意するかという設定が必要です。その場で初期化するのか、既存のインスタンスを引っ張ってくるのかなど。これらはコンストラクションメソッドと呼ばれており、READMEに全部書かれています。 github.co…

Zenject Factoryの話

はじめに このエントリはUNIBOOK10で書いた記事を転載したものです。 unity-bu.booth.pm UNIBOOK10、いい話がいっぱいあるから買ってね! Zenject Factory ZenjectはUnityで動作するDIライブラリです。煩わしい依存関係の解決を助ける非常に強力な武器となり…

Zenject Decorator Binding

ZenjectにはDecoratorパターンをサポートするDecorator Bindingなる機能があったりします。あんまりメインで使うような機能ではありませんが覚えておくと便利かもしれません。 github.com Decorator パターン DecoratorパターンはGoFで定義されてるデザイン…

InjectとInjectLocal attribute

Zenjectのソース読んでたらInjectLocalというAttributeが内部にあったのでなんだろうと調べたメモ。実用的なやつではない。 どのContainerからInjectされるのか そもそも、Bindされたオブジェクトはどこから依存しているオブジェクトをもらえるのでしょう。…

Zenject Signals

本記事は Unity Advent Calendar 2018 の 13日目 の記事です。 qiita.com 普段Zenjectを趣味で使っているのですが、Zenjectは基本的なDIContainer機能の他に、ちょっとDIから離れた便利機能をいくつか提供しています。MemoryPool TestFrameWork Reflection B…