Zenject
ニッチすぎる小ネタです。 DIライブラリのリプレースなので基本的にはそんなに手間ではないですが、微妙に思想の違いがあるのでちょっとだけ気をつけようねというお話。 基本的な移行の流れ SceneContext → LifetimeScopeに乗り換える Installerのコードを見…
このエントリはUnity Advent Calendar 20194日目のやつです。 Zenjectは便利ですが、実際に扱っている人の知見やtipsがまだまだ世に出回ってない印象です。APIの使用方法も欲しいですが実際に使ってる人たちがどういうお気持ちで使っているのかというのはど…
9/22の技術書典7にて、Zenjectについてつらつら書いた「ZenjectチョットワカルBook」というのを頒布します。ページは以下。 techbookfest.org また、電子版もboothで同日から公開します。 e-f-b.booth.pm 会場では物理本を1000円で頒布します。かんたん後払…
割と最近の出来事だった github.com 元々Zenjectはテスト時のモックライブラリとしてMoqを採用していたんだけど、このPRでまた別のモックライブラリであるNSubstituteを使えるようになった。選択肢が増えたのだった。 Moq github.com NSubstitute nsubstitut…
ZenjectでBindするとき、そのインスタンスをどのように用意するかという設定が必要です。その場で初期化するのか、既存のインスタンスを引っ張ってくるのかなど。これらはコンストラクションメソッドと呼ばれており、READMEに全部書かれています。 github.co…
はじめに このエントリはUNIBOOK10で書いた記事を転載したものです。 unity-bu.booth.pm UNIBOOK10、いい話がいっぱいあるから買ってね! Zenject Factory ZenjectはUnityで動作するDIライブラリです。煩わしい依存関係の解決を助ける非常に強力な武器となり…
ZenjectにはDecoratorパターンをサポートするDecorator Bindingなる機能があったりします。あんまりメインで使うような機能ではありませんが覚えておくと便利かもしれません。 github.com Decorator パターン DecoratorパターンはGoFで定義されてるデザイン…
Zenjectのソース読んでたらInjectLocalというAttributeが内部にあったのでなんだろうと調べたメモ。実用的なやつではない。 どのContainerからInjectされるのか そもそも、Bindされたオブジェクトはどこから依存しているオブジェクトをもらえるのでしょう。…
本記事は Unity Advent Calendar 2018 の 13日目 の記事です。 qiita.com 普段Zenjectを趣味で使っているのですが、Zenjectは基本的なDIContainer機能の他に、ちょっとDIから離れた便利機能をいくつか提供しています。MemoryPool TestFrameWork Reflection B…